Reactive avatars

ABSTRACT

Avatars are used to graphically represent users in a communications session, and the avatars are capable of being animated. An indication of an animation of one of the avatars is received. Another avatar that represents another of the users is animated in response to, and based on, the animation of the avatar in the same communications session.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/747,701, filed Dec. 30, 2003, and titled “Reactive Avatars,” whichclaims the benefit of U.S. Provisional Application No. 60/450,663, filedMar. 3, 2003, and titled “Providing Video, Sound, or Animated ContentWith Instant Messages,” and claims the benefit of U.S. ProvisionalApplication No. 60/512,852, filed Oct. 22, 2003, and titled “ProvidingVideo, Sound, or Animated Content With Instant Messages,” which areincorporated by reference.

TECHNICAL FIELD

This description relates to projecting a graphical representation of acommunications application operator (hereinafter “sender”) incommunications sent in a network of computers.

BACKGROUND

Online services may provide users with the ability to send and receiveinstant messages. Instant messages are private online conversationsbetween two or more people who have access to an instant messagingservice, who have installed communications software necessary to accessand use the instant messaging service, and who each generally haveaccess to information reflecting the online status of other users.

An instant message sender may send self-expression items to an instantmessage recipient. Current implementations of instant messagingself-expression enable a user to individually select self-expressionsettings, such as a Buddy Icon and a Buddy Wallpaper, which settingsthereafter project to other users who see or interact with that persononline.

SUMMARY

In one general aspect, a first avatar is animated based on perceivedanimation of a second avatar. A first user is graphically representedwith a first avatar capable of being animated, and a second user isgraphically represented with a second avatar capable of being animated.Communication messages are being sent between the first user and thesecond user. An indication of an animation of the first avatar isreceived, and, the second avatar is animated in response to, and basedon, the received indication of the animation.

Implementations may include one or more of the following features. Forexample, the indication of an animation received may be any type ofanimation of the first avatar or may be an indication of a particularanimation of multiple possible animations of the first avatar. The firstavatar may be subsequently animated in response to and based on theanimation of the second avatar.

The first avatar may be animated in response to a particular portion ofa message sent between the first user and the second user. The messagemay be sent from the first user to the second user or may be sent to thefirst user from the second user.

The first avatar is animated to send an out-of-band communication fromthe first user to the second user. The out-of-band communication mayinclude a communication indicating a personality characteristicassociated with the first user, an emotional state associated with thefirst user, an environmental condition associated with the first user,or an activity associated with the first user. An environmentalcondition may include an environmental condition related to the weatherof a geographic location near the first user. The out-of-bandcommunication also may include a setting characteristic associated withthe first user. A setting characteristic may be a characteristic relatedto time of day of the first user or a characteristic related to time ofyear. The characteristic related to the time of year may be related toholiday or a season in which the season is one of spring, summer, fallor winter. A setting characteristic also may be a characteristicassociated with a work setting, a recreation setting, a beach setting, atropical setting or a winter sport setting.

Implementations of the techniques discussed above may include a methodor process, a system or apparatus, or computer software on acomputer-accessible medium.

The details of one or more of the implementations are set forth in theaccompanying drawings and description below. Other features will beapparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIGS. 1, 2 and 5 are diagrams of user interfaces for an instantmessaging service capable of enabling a user to project an avatar forself-expression.

FIG. 3 is a flow chart of a process for animating an avatar based on thecontent of an instant message.

FIG. 4 is a block diagram illustrating exemplary animations of an avatarand textual triggers for each animation.

FIG. 6 is a diagram illustrating an exemplary process involvingcommunications between two instant messaging client systems and aninstant message host system, whereby an avatar of a user of one of theinstant message client systems is animated based on the animation of anavatar of a user of the other of the instant message client systems.

FIG. 7 is a flow chart of a process for selecting and optionallycustomizing an avatar.

FIG. 8 is a block diagram depicting examples of avatars capable of beingprojected by a user for self-expression.

FIG. 9 is a diagram of a user interface for customizing the appearanceof an avatar.

FIG. 10 is a diagram of a user interface used to present a snapshotdescription of an avatar.

FIG. 11A is a block diagram illustrating relationships between onlinepersonas, avatars, avatar behaviors and avatar appearances.

FIG. 11B is a flow chart of a process for using a different onlinepersonality to communicate with each of two instant message recipients.

FIG. 12 is a diagram of a user interface that enables an instant messagesender to select among available online personas.

FIG. 13 is a diagram of exemplary user interfaces for enabling aninstant message sender to create and store an online persona thatincludes an avatar for self-expression.

FIG. 14 is a flow chart of a process for enabling a user to change anonline persona that includes an avatar for self-expression.

FIG. 15 is a flow chart of a process for using an avatar to communicatean out-of-band message to an instant message recipient.

FIGS. 16, 17 and 18 are diagrams of exemplary communications systemscapable of enabling an instant message user to project an avatar forself-expression.

DETAILED DESCRIPTION

An avatar that represents a user in a communications session isanimated, without user manipulation, based on the animation of anotheravatar that represents another user in the same communications session.This may be referred to as an automatic response of an avatar to thebehavior of another avatar.

FIG. 1 illustrates an exemplary graphical user interface 100 for aninstant messaging service capable of enabling a user to project anavatar for self-expression. The user interface 100 may be viewed by auser who is an instant message sender and whose instant messagingcommunications program is configured to project an avatar associatedwith and used as an identifier for the user to one or more other usersor user groups (collectively, instant message recipients). Inparticular, the user IMSender is an instant message sender using theuser interface 100. The instant message sender projects a sender avatar135 in an instant messaging communications session with an instantmessage recipient SuperBuddyFan1, who projects a recipient avatar 115. Acorresponding graphical user interface (not shown) is used by theinstant message recipient SuperBuddyFan1. In this manner, the senderavatar 135 is visible in each of the sender's user interface and therecipient's user interface, as is the recipient avatar 115. The instantmessaging communications session may be conducted simultaneously,near-simultaneously, or serially.

The user interface (UI) 100 includes an instant message user interface105 and an instant messaging buddy list window 170.

The instant message user interface 105 has an instant message recipientportion 110 and an instant message sender portion 130. The instantmessage recipient portion 110 displays the recipient avatar 115 chosenby the instant message recipient with whom the instant message sender ishaving an instant message conversation. Similarly, the instant messagesender portion 130 displays the sender avatar 135 chosen by the instantmessage sender. The display of the sender avatar 135 in the instantmessage user interface 105 enables the instant message sender toperceive the avatar being projected to the particular instant messagerecipient with whom the instant message sender is communicating. Theavatars 135 and 115 are personalization items selectable by an instantmessage user for self-expression.

The instant message user interface 105 includes an instant messagecomposition area 145 for composing instant message messages to be sentto the instant message recipient and for message history text box 125for displaying a transcript of the instant message communicationssession with the instant message recipient. Each of the messages sentto, or received from, the instant message recipient are listed inchronological order in the message history text box 125, each with anindication of the user that sent the message as shown at 126. Themessage history text box 125 optionally may include a time stamp 127 foreach of the messages sent.

Wallpaper may be applied to portions of the graphical user interface100. For example, wallpaper may be applied to window portion 120 that isoutside of the message history box 125 or window portion 140 that isoutside of the message composition area 145. The recipient avatar 115 isdisplayed over, or in place of, the wallpaper applied to the windowportion 120, and the wallpaper applied to the window portion 120corresponds to the recipient avatar 115. Likewise, the sender avatar 135is displayed over, or in place of, the wallpaper applied to the windowportion 140 and the wallpaper applied to the window portion 120corresponds to the sender avatar 135. In some implementations, a box orother type of boundary may be displayed around the avatar, as shown byboundary 157 displayed around the sender avatar 135. A differentwallpaper may be applied to window portion 158 inside the boundary 157than the wallpaper applied to the window portion 140 outside of themessage composition area 145 but not within the boundary 157. Thewallpaper may appear to be non-uniform and may include objects that areanimated. The wallpapers applied to the window portions 120 and 140 maybe personalization items selectable by an instant message user forself-expression.

The instant message user interface 105 also includes a set of featurecontrols 165 and a set of transmission controls 150. The featurecontrols 165 may control features such as encryption, conversationlogging, conversation forwarding to a different communications mode,font size and color control, and spell checking, among others. The setof transmission controls 150 includes a control 160 to trigger sendingof the message that was typed into the instant message composition area145, and a control 155 for modifying the appearance or behavior of thesender avatar 135.

The instant message buddy list window 170 includes an instant messagesender-selected list 175 of potential instant messaging recipients(“buddies”) 180 a-180 g. Buddies typically are contacts who are known tothe potential instant message sender (here, IMSender). In the list 175,the representations 180 a-180 g include text identifying the screennames of the buddies included in list 175; however, additional oralternative information may be used to represent one or more of thebuddies, such as an avatar associated with the buddy, that is reduced insize and either still or animated. For example, the representation 180 aincludes the screen name and avatar of the instant message recipientnamed SuperBuddyFan1. The representations 180 a-180 g may provideconnectivity information to the instant message sender about the buddy,such as whether the buddy is online, how long the buddy has been online,whether the buddy is away, or whether the buddy is using a mobiledevice.

Buddies may be grouped by an instant message sender into one or moreuser-defined or pre-selected groupings (“groups”). As shown, the instantmessage buddy list window 170 has three groups, Buddies 182, Co-Workers184, and Family 186. SuperBuddyFan1 185 a belongs to the Buddies group182, and ChattingChuck 185 c belongs to the Co-Workers group 184. When abuddy's instant message client program is able to receivecommunications, the representation of the buddy in the buddy list isdisplayed under the name or representation of the buddy group to whichthe buddy belongs. As shown, at least potential instant messagingrecipients 180 a-180 g are online. In contrast, when a buddy's instantmessage client program is not able to receive communications, therepresentation of the buddy in the buddy list may not be displayed underthe group with which it is associated, but it may instead be displayedwith representations of buddies from other groups under the headingOffline 188. All buddies included in the list 175 are displayed eitherunder one of the groups 182, 184, or 186, or under the heading Offline188.

As illustrated in FIG. 1, each of the sender avatar 135 and therecipient avatar 115 is a graphical image that represents a user in aninstant message communications session. The sender projects the senderavatar 135 for self-expression, whereas the recipient projects therecipient avatar 115 also for self-expression. Here, each of theanimation avatars 135 or 115 is an avatar that only includes a graphicalimage of a face, which may be referred to as a facial avatar or a headavatar. In other implementations, an avatar may include additional bodycomponents. By way of example, a Thanksgiving turkey avatar may includean image of a whole turkey, including a head, a neck, a body andfeathers.

The sender avatar 135 may be animated in response to an instant messagesent to the instant message recipient, and the recipient avatar 115 maybe animated in response to an instant message sent by the instantmessage recipient. For example, the text of an instant message sent bythe sender may trigger an animation of the sender avatar 135, and thetext of an instant messages sent by the instant message recipient to thesender may trigger an animation of the recipient avatar 115.

More particularly, the text of a message to be sent is specified by thesender in the message specification text box 145. The text entered inthe message specification text box 145 is sent to the recipient when thesender activates the send button 160. When the send button 160 isactivated, the instant message application searches the text of themessage for animation triggers. When an animation trigger is identified,the sender avatar 135 is animated with an animation that is associatedwith the identified trigger. This process is described more fully later.In a similar manner, the text of a message sent by the instant messagerecipient and received by the sender is searched for animation triggersand, when found, the recipient avatar 115 is animated with an animationassociated with the identified trigger. By way of example, the text of amessage may include a character string “LOL,” which is an acronym thatstands for “laughing out loud.” The character string “LOL” may triggeran animation in the sender avatar 135 or the recipient avatar 115 suchthat the sender avatar 135 or the recipient avatar 115 appears to belaughing.

Alternatively or additionally, the sender avatar 135 may be animated inresponse to an instant message sent from the instant message recipient,and the recipient avatar 115 may be animated in response to a messagesent from the instant message sender. For example, the text of aninstant message sent by the sender may trigger an animation of therecipient avatar 115, and the text of an instant messages sent by theinstant message recipient to the sender may trigger an animation of thesender avatar 135.

More particularly, the text of a message to be sent is specified by thesender in the message specification text box 145. The text entered inthe message specification text box 145 is sent to the recipient when thesender activates the send button 160. When the send button 160 isactivated, the instant message application searches the text of themessage for animation triggers. When an animation trigger is identified,the recipient avatar 115 is animated with an animation that isassociated with the identified trigger. In a similar manner, the text ofa message sent by the instant message recipient and received by thesender is searched for animation triggers and, when found, the senderavatar 135 is animated with an animation associated with the identifiedtrigger.

In addition, the sender avatar 135 or the recipient avatar 115 may beanimated in direct response to a request from the sender or therecipient. Direct animation of the sender avatar 135 or the recipientavatar 115 enables use of the avatars as a means for communicatinginformation between the sender and the recipient without an accompanyinginstant message. For example, the sender may perform an action thatdirectly causes the sender avatar 135 to be animated, or the recipientmay perform an action that directly causes the recipient avatar 115 tobe animated. The action may include pressing a button corresponding tothe animation to be played or selecting the animation to be played froma list of animations. For example, the sender may be presented with abutton that inspires an animation in the sender avatar 135 and that isdistinct from the send button 160. Selecting the button may cause ananimation of the sender avatar 135 to be played without performing anyother actions, such as sending an instant message specified in themessage composition area 145. The played animation may be chosen atrandom from the possible animations of the sender avatar 135, or theplayed animation may be chosen before the button is selected.

An animation in one of the avatars 135 or 115 displayed on the instantmessaging user interface 105 may cause an animation in the other avatar.For example, an animation of the recipient avatar 115 may trigger ananimation in the sender avatar 135, and vice versa. By way of example,the sender avatar 135 may be animated to appear to be crying. Inresponse to the animation of the sender avatar 135, the recipient avatar115 also may be animated to appear to be crying. Alternatively, therecipient avatar 115 may be animated to appear comforting or sympatheticin response to the crying animation of the sender avatar 135. In anotherexample, a sender avatar 135 may be animated to show a kiss and, inresponse, a recipient avatar 115 may be animated to blush.

The recipient avatar 115 may appear to respond to a mood of the sendercommunicated by the sender avatar 135. By way of example, in response toa frowning or teary animation of the sender avatar 135, the recipientavatar 115 also may appear sad. Alternatively, the recipient avatar 115may be animated to try to cheer up the sender avatar 135, such as bysmiling, exhibiting a comical expression, such as sticking its tongueout, or exhibiting a sympathetic expression.

An avatar 135 or 115 may be animated in response to a detected idleperiod of a predetermined duration. For example, after a period ofsender inactivity, the sender avatar 135 may be animated to give theappearance that the avatar is sleeping, falling off of the instantmessaging interface 105, or some other activity indicative ofinactivity. An avatar 135 or 115 also may progress through a series ofanimations during a period of sender inactivity. The series ofanimations may repeat continuously or play only once in response to thedetection of an idle period. In one example, the sender avatar 135 maybe animated to give the appearance that the avatar is sleeping and thenhaving the avatar appear to fall off the instant messaging userinterface 105 after a period of sleeping. Animating an avatar 135 or 115through a progression of multiple animations representative of a periodof sender inactivity may provide entertainment to the sender. This maylead to increased usage of the instant messaging user interface 105 bythe sender, which in turn, may lead to an increased market share for theinstant message service provider.

The sender avatar 135 or the recipient avatar 115 may be animated toreflect the weather at the geographic locations of the sender and therecipient, respectively. For example, if rain is falling at thegeographic location of the sender, then the sender avatar 135 may beanimated to put on a rain coat or open an umbrella. The wallpapercorresponding to the sender avatar 135 also may include rain dropsanimated to appear to be failing on the sender avatar 135. The animationof the sender avatar 135 or the recipient avatar 115 played in responseto the weather may be triggered by weather information received on thesender's computer or the recipient's computer, respectively. Forexample, the weather information may be pushed to the sender's computerby a host system of an instant messaging system being used. If thepushed weather information indicates that it is raining, then ananimation of the sender avatar 135 corresponding to rainy weather isplayed.

Furthermore, the avatar may be used to audibly verbalize content otherthan the text communicated between parties during a communicationssession. For example, if the text “Hi” appears within a message sent bythe sender, the sender avatar 135 may be animated to verbally say“Hello” in response. As another example, when the text “otp” or the text“on the phone” appears within a message sent by the recipient, therecipient avatar 115 may be animated to verbally say “be with you injust a minute” in response. As another example, in response to an idlestate, an avatar may audibly try to get the attention of the sender orthe recipient. For example, when the recipient sends a message to thesender that includes a question mark and the sender is determined to beidle, the recipient avatar 115 may audibly say “Hello? You there?” totry to elicit a response from the sender regarding the recipient'squestion.

The sender may mute the recipient avatar 115 or the sender avatar 135 toprevent the recipient avatar 115 or the sender avatar 135 from speakingfurther. By way of example, the sender may prefer to mute the recipientavatar 115 to prevent the recipient avatar 115 from speaking. In oneimplementation, to show that an avatar is muted, the avatar may appearto be wearing a gag.

The voice of an avatar may correspond to the voice of a user associatedwith the avatar. To do so, the characteristics of the user's voice maybe extracted from audio samples of the user's voice. The extractedcharacteristics and the audio samples may be used to create the voice ofthe avatar. Additionally or alternatively, the voice of the avatar neednot correspond to the voice of the user and may be any generated orrecorded voice.

The sender avatar 135 may be used to communicate an aspect of thesetting or the environment of the sender. By way of example, theanimation and appearance of the sender avatar 135 may reflect aspects ofthe time, date or place of the sender or aspects of the circumstances,objects or conditions of the sender. For example, when the sender usesthe instant messaging user interface 105 at night, the sender avatar 135may appear to be dressed in pajamas and have a light turned on toilluminate an otherwise dark portion of the screen on which the avataris displayed and/or the sender avatar 135 may periodically appear toyawn. When the sender uses the instant messaging user interface 105during a holiday period, the sender avatar 135 may be dressed in amanner illustrative of the holiday, such as appearing, as Santa Clausduring December, a pumpkin near Halloween, or Uncle Sam during earlyJuly. The appearance of the sender avatar 135 also may reflect theclimate or geographic location of the sender. For example, when rain isfalling in the location of the sender, wallpaper corresponding thesender avatar 135 may include falling raindrops and/or the sender avatar135 may wear a rain hat or appear under an open umbrella. In anotherexample, when the sender is sending instant message from a tropicallocation, the sender avatar 135 may appear in beach attire.

The sender avatar 135 also may communicate an activity being performedby the sender while the sender is using the instant messaging userinterface 105. For example, when the sender is listening to music, theavatar 135 may appear to be wearing headphones. When the sender isworking, the sender avatar 135 may be dressed in business attire, suchas appearing in a suit and a tie.

The appearance of the sender avatar 135 also may communicate the mood oran emotional state of the sender. For example, the sender avatar 135 maycommunicate a sad state of the sender by frowning or shedding a tear.The appearance of the sender avatar 135 or the recipient avatar 115 mayresemble the sender or the recipient, respectively. For example, theappearance of the sender avatar 135 may be such that the sender avatar135 appears to be of a similar age as the sender. In one implementation,as the sender ages, the sender avatar 135 also may appear to age. Asanother example, the appearance of the recipient avatar 115 may be suchthat the recipient avatar 115 has an appearance similar to that of therecipient.

In some implementations, the wallpaper applied to the window portion 120and/or the wallpaper applied to the window portion 140 may include oneor more animated objects. The animated objects may repeat continuouslyor periodically on a predetermined or random basis a series ofanimations. Additionally or alternatively, the wallpapers applied to thewindow portions 120 and 140 may be animated to in response to the textof messages sent between the sender and the recipient. For example, thetext of an instant message sent by the sender may trigger an animationof the animated objects included in the wallpaper corresponding to thesender avatar 135, and the text of an instant messages sent by theinstant message recipient to the sender may trigger an animation of theanimated objects included in the wallpaper corresponding to therecipient avatar 115. The animated objects included in the wallpapersmay be animated to reflect the setting or environment, activity and moodof the recipient and the sender, respectively.

An avatar may be used as a mechanism to enable self-expression oradditional non-text communication by a user associated with the avatar.For example, the sender avatar 135 is a projection of the sender, andthe recipient avatar 115 is a projection of the recipient. The avatarrepresents the user in instant messaging communications sessions thatinvolve the user. The personality or emotional state of a sender may beprojected or otherwise communicated through the personality of theavatar. Some users may prefer to use an avatar that more accuratelyrepresents the user. As such, a user may change the appearance andbehavior of an avatar to more accurately reflect the personality of theuser. In some cases, a sender may prefer to use an avatar forself-expression rather than projecting an actual image of the sender.For example, some people may prefer using an avatar to sending a videoor photograph of the sender.

Referring to FIG. 2, the animation of an avatar may involve resizing orrepositioning the avatar such that the avatar occupies more or differentspace on the instant message user interface 105 than the originalboundary of the avatar. In the illustration of FIG. 2, the size ofsender avatar 205 has been increased such that the avatar 205 covers aportion of the message instant message composition area 145 and thecontrol 155. In addition, elements of the user interface 100 other thanan avatar also may be displayed using additional space or usingdifferent space on the user interface 100. For example, a sender avatarmay depict a starfish with an expressive face and may be displayed onwallpaper that includes animated fish. The animated fish included in thewallpaper may be drawn outside the original boundary around the senderavatar 135 and appear to swim outside the original boundary area.

Referring to FIG. 3, a process 300 is illustrated for animating anavatar for self-expression based on the content of an instant message.In particular, an avatar representing an instant message sender isanimated in response to text sent by the sender. The wallpaper of theavatar also is animated. The process 300 is performed by a processorexecuting an instant messaging communications program. In general, thetext of a message sent to an instant message recipient is searched foran animation trigger and, when a trigger is found, the avatar thatrepresents the instant message sender is animated in a particular mannerbased on the particular trigger that is found. The wallpaper displayedfor the avatar includes an animated object or animated objects. Theobject or objects may be animated based on the content of the instantmessage sent or may be animated based on other triggers, including (butnot limited to) the passing of a predetermined amount of time, theoccurrence of a particular day or time of day, any type of animation ofthe sender avatar, a particular type of animation of the sender avatar,any type of animation of the recipient avatar, or a particular type ofthe animation of the recipient avatar. Also, when the sender is inactivefor a predetermined duration, the avatar sequentially displays each ofmultiple animations associated with an idle state.

The process 300 begins when an instant message sender who is associatedwith an avatar starts an instant messaging communications session withan instant message recipient (step 305). To do so, the sender may selectthe name of the recipient from a buddy list, such as the buddy list 170from FIG. 1. Alternatively, the name of the recipient may be enteredinto a form that enables instant messages to be specified and sent. Asanother alternative, the sender may start an instant messagingapplication that may be used to sign on for access to the instantmessaging system and specify the recipient as a user of the instantmessaging system with which a communications session is to be started.Once the recipient has been specified in this manner, a determination ismade as to whether a copy of avatars associated with the sender and therecipient exist on the instant message client system being used by thesender. If not, copies of the avatars are retrieved for use during theinstant message communications session. For example, information torender an avatar of the recipient may be retrieved from an instantmessage host system or the instant message recipient client. In somecases, a particular avatar may be selected by the sender for use duringthe instant messaging communications session. Alternatively oradditionally, the avatar may have been previously identified andassociated with the sender.

The processor displays a user interface for the instant messagingsession including the avatar associated with the sender and wallpaperapplied to the user interface over which the avatar is displayed (step307). The avatar may be displayed over, for example, wallpaper appliedto a portion of a window in which an instant message interface isdisplayed. In another example, the avatar is displayed over a portion orportions of an instant message interface, such as window portions 120 or140 and FIG. 1. In the example of FIG. 3, the wallpaper corresponding toavatar may include an object or objects that are animated during theinstant message communications session.

The processor receives text of a message entered by the sender to besent to the instant message recipient (step 310) and sends a messagecorresponding to the entered text to the recipient (step 315). Theprocessor compares the text of the message to multiple animationtriggers that are associated with the avatar projected by the sender(step 320). A trigger may include any letter, number, or symbol that maybe typed or otherwise entered using a keyboard or keypad. Multipletriggers may be associated with an animation.

Referring also to FIG. 4, examples 400 of triggers associated withanimations 405 a-405 q of a particular avatar model are shown. Each ofthe animations 405 a-405 q has multiple associated triggers 410 a-410 q.More particularly, by way of example, the animation 405 a, in which theavatar is made to smile, has associated triggers 410 a. Each of thetriggers 410 a includes multiple character strings. In particular,triggers 410 a include a “:)” trigger 411 a, a “:-)” trigger 412 a, a“0:-)” trigger 413 a, a “0:)” trigger 414 a, and a “Nice” trigger 415 a.As illustrated, a trigger may be an English word, such as 415 a, or anemoticon, such as 411 a-414 a. Other examples of a trigger include aparticular abbreviation, such as “lol” 411 n, and an English phrase,such as “Oh no” 415 e. As discussed previously, when one of the triggersis included in an instant message, the avatar is animated with ananimation that is associated with the trigger. In one example, when“Nice” is included in an instant message, the avatar is made to smile.In one implementation, one or more of the triggers associated with ananimation is modifiable by a user. For example, a user may associate anew trigger with an animation, such as by adding “Happy” to triggers 410a to make the avatar smile. In another example, a user may delete atrigger associated with an animation (that is, disassociate a triggerfrom an animation), such as by deleting “Nice” 415 a. In yet anotherexample, a user may change a trigger that is associated with ananimation, such as by changing the “wink” trigger 413 b to “winks.”

In some implementations, a particular trigger may be associated withonly one animation. In other implementations, a particular trigger maybe permitted to be associated with multiple animations. In someimplementations, only one of the multiple animations may be played inresponse to a particular trigger. The single animation to be played maybe chosen randomly or in a predetermined manner from the multipleanimations. In other implementations, all of the multiple animations maybe played serially based on a single trigger. In some implementations, auser may be permitted to delete a particular animation. For example, theuser may delete the yell animation 405 g. In such a case, the user maydelete some or all of the triggers associated with the yell animation405 g or may chose to associate some or all of the triggers 410 g with adifferent animation, such as a smile animation 405 a.

Referring again to FIG. 3, the processor determines whether a trigger isincluded within the message (step 325). When the message includes atrigger (step 325), the processor identifies a type of animation that isassociated with the identified trigger (step 330). This may beaccomplished by using a database table, a list, or a file thatassociates one or more triggers with a type of animation for the avatarto identify a particular type of animation. Types of animation include,by way of example, a smile 405 a, a wink 405 b, a frown 405 c, anexpression with a tongue out 405 d, a shocked expression 410 d, a kiss405 f, a yell 405 g, a big smile 405 h, a sleeping expression 405 i, anodding expression 405 j, a sigh 405 k, a sad expression 405 l, a coolexpression 405 m, a laugh 405 n, a disappearance 405 o, a smell 405 p,or a negative expression 405 q, all of FIG. 4. The identified type ofanimation for the avatar is played (step 335).

Optionally, the processor may identify and play an animation of at leastone wallpaper object based on the match of a trigger with the text ofthe message sent (step 337).

The processor monitors the communications activity of the sender forperiods of inactivity (step 340) to detect when the sender is in an idlestate or an idle period of communications activity (step 345). Thesender may be in an idle state after a period during which no messageswere sent. To detect an idle state, the processor may determine whetherthe sender has not typed or sent an instant message or otherwiseinteracted with the instant message communications application for apredetermined amount of time. Alternatively, an idle state may bedetected by the processor when the sender has not used the computersystem in which the processor operates for a predetermined amount oftime.

When the processor detects inactivity (which may be referred to an idlestate), a type of animation associated with the idle state is identified(step 350). This may be accomplished by using a database table, list orfile that identifies one or more types of animations to play during adetected idle period. The type of animations played during a detectedidle state may be the same as or different from the types of animationsplayed based on a trigger in an instant message. The identified type ofanimation is played (step 355). In one implementation, multiple types ofanimation associated with the idle state may be identified and played.When the processor detects that the sender is no longer idle, such as byreceiving an input from the sender, the processor may immediately stopplaying the animation event (not shown). In some implementations, a usermay select types of animations to be played during an idle period and/orselect the order in which the animation are played when multipleanimations are played during an idle period. A user may configure orotherwise determine the duration of time during which no messages aresent that constitutes an idle period for the user.

In some implementations, the processor may detect a wallpaper objecttrigger that is different than the trigger used to animate the senderavatar (step 360). For example, the processor may detect the passage ofa predetermined amount of time. In another example, the processor maydetect that the content of the instant message includes a trigger for awallpaper object animation that is different from the trigger used toanimate the sender avatar. Other wallpaper object triggers may include(but are not limited to) the occurrence of a particular day or aparticular time of day, the existence of any animations by the senderavatar, the existence of a particular type of animation by the senderavatar, the existence of animations by the recipient avatar, and/or theexistence of a particular type of the animation of the recipient avatar.The triggers for the animation of wallpaper objects also may beuser-configurable such that a user selects whether a particular type ofanimation is to be included, any animations are to be played, andtriggers for one or more of the wallpaper objects. A trigger for a typeof animation of a wallpaper object or objects may be the same as, ordifferent from, one of the triggers associated with animating theavatar.

When the processor detects a wallpaper object trigger (step 360), theprocessor identifies and plays an animation of at least one wallpaperobject (step 337).

The process of identifying and playing types of animations during a sentinstant message (steps 310-335) is performed for every instant messagethat is sent and for every instant message that is received by theprocessor. The process of identifying and playing types of animationevents during periods of inactivity (steps 340-355) may occur multipletimes during the instant messaging communications session. Steps 310-355may be repeated indefinitely until the end of the instant messagingcommunications session.

The process of identifying and playing the types of animations thatcorrespond to a sent instant message or that are played during a periodof sender inactivity (steps 320-355) also are performed by the processorof the instant message communications application that received themessage. In this manner, the animation of the sender avatar may beviewed by the sender and the recipient of the instant message. Thus, theanimation of the avatar conveys information from the sender to therecipient that is not directly included in the instant message.

Referring to FIG. 5, an instant messaging interface 500 may be used by asender of a speech-based instant messaging system to send and receiveinstant messages. In the speech-based instant messaging system, instantmessages are heard rather than read by users. The instant messages maybe audio recordings of the users of the speech-based instant messagingsystem, or the instant messages may include text that is converted intoaudible speech with a text-to-speech engine. The audio recordings or theaudible speech are played by the users. The speech-based instantmessaging interface 500 may display an avatar 505 corresponding to auser of the instant messaging system from which speech-based instantmessages are received. The avatar 505 may be animated automatically inresponse to the received instant messages such that the avatar 505appears to be speaking the contents of the instant message. Therecipient may view the animation of the avatar 505 and gatherinformation not directly or explicitly conveyed in the instant message.Depending on the animation played, the recipient may be able todetermine, for example, the mood of the sender or whether the sender isbeing serious or joking.

More particularly, the audio message may be processed in the same orsimilar manner as a textual instant message is processed with respect tothe animation process 300 of FIG. 3. In such a case, types of animationsare triggered by audio triggers included in an instant message.

In some implementations, the avatar 505 may appear to be speaking theinstant message. For example, the avatar 505 may include animations ofmouth movements corresponding to phonemes in human speech to increasethe accuracy of the speaking animations. When the instant messageincludes text, a text-to-speech process may be generate sounds spoken bythe avatar 505, animations corresponding to phonemes in the text may begenerated, and a lip synchronization process may be used to synchronizethe playing of the audio with the lip animation such that the phonemesare heard at the same time that the corresponding animation of the mouthof the avatar 505 is seen. When the instant message includes an audiorecording, animations corresponding to phonemes in the audio recordingmay be generated, and a lip synchronization used to synchronize theplaying of the audio recording with the lip animation.

In another example, a sender may record an audio portion to beassociated with one or more animations of the avatar 505. The recordingthen may be played when the corresponding animation of the avatar 505 isplayed.

FIG. 6 illustrates an example process 600 for communicating betweeninstant message clients 602 a and 602 b, through an instant message hostsystem 604, to animate one avatar in response to an animation played ina different avatar. Each of the users using client 602 a or client 602 bis associated with an avatar that represents and projects the userduring the instant message session. The communications between theclients 602 a and 602 b are facilitated by an instant messaging hostsystem 604. In general, the communications process 600 enables a firstclient 602 a and a second client 602 b to send and receivecommunications from each other. The communications are sent through theinstant messaging host system 604. Some or all of the communications maytrigger an animation or animations in an avatar associated with the userof the first client 602 a and an animation or animations in an avatarassociated with the user of the second client 602 b.

An instant messaging communications session is established between thefirst client 602 a and the second client 602 b in which communicationsare sent through the instant messaging server host system 604 (step606). The communications session involves a first avatar that representsthe user of the first client 602 a and a second avatar that representsthe user of the second client 602 b. This may be accomplished, forexample, as described previously with respect to step 305 of FIG. 3. Ingeneral, both the user of the first client 602 a and the user of thesecond client 602 b may use a user interface similar to the userinterface 100 of FIG. 1 in which the sender avatar and the recipientavatar are displayed on the first client 602 a and on the second client602 b.

During the instant messaging communications session, a user associatedwith the first client 602 a enters text of an instant message to be sentto a user of the second client 602 b, which is received by the processoron the client 602 a executing the instant messaging communicationsapplication (step 608). The entered text may include a trigger for oneof the animations from the first avatar model. The processor executingthe instant messaging communications application sends the entered textto the second client 602 b in the instant message by way of the hostsystem 604 (step 610). Specifically, the host system 604 receives themessage and forwards the message from the first client 602 a to thesecond client 602 b (step 612). The message then is received by thesecond client 602 b (step 614). Upon receipt of the message, the secondclient 602 b displays the message in a user interface in which messagesfrom the user of the first client 602 a are displayed. The userinterface may be similar to the instant messaging user interface 105from FIG. 1, in which avatars corresponding to the sender and therecipient are displayed.

Both the first client 602 a and the second client 602 b have a copy ofthe message, and both the first client 602 a and the second client 602 bbegin processing the text of the message to determine if the text of themessage triggers any animations in the respective copies of the firstand second avatar models. When processing the message, the first client602 a and the second client 602 b may actually process the messagesubstantially concurrently or serially, but both the first client 602 aand the second client 602 b process the message in the same way.

Specifically, the first client 602 a searches the text of the messagefor animation triggers to identify a type of animation to play (step 616a). The first client 602 a then identifies an animation having theidentified type of animation for a first avatar associated with the userof the first client 602 a (step 618 a). The first client 602 a plays theidentified animation for the first avatar that is associated with theuser of the first client 602 a (step 620 a). The first avatar model isused to identify the animation to be played because the first avatarmodel is associated with the first client 602 a, which sent the message.The first client 602 a and the second client 602 b use identical copiesof the first avatar model to process the message, so the same animationevent is seen on the first client 602 a and the second client 602 b.

The animation from the first avatar model triggers an animation from thesecond avatar model. To do so, the first client 602 a identifies, basedon the identified type of animation played for the first avatar inresponse to the text trigger, a type of animation to be played for asecond avatar that is associated with the user of the second client 602b (step 622 a). The first client 602 b plays the identified type ofanimation for the second avatar (step 624 a).

The first client also may identify a type of animation to be played forwallpaper corresponding to the first avatar and plays the identifiedwallpaper animation of the first avatar (step 626 a). The wallpaper ofthe avatar may include an object or objects that are animated during theinstant message communications session. The animation of the object orobjects may occur based on, for example, a trigger in an instant messageor the passage of a predetermined amount of time. The animation ofwallpaper objects also may be user-configurable such that a user selectswhether a particular type animation, or any animations, are played, andthe triggers for one or more of the wallpaper objects. A trigger for atype of animation of a wallpaper object or objects may be the same as,or different from, one of the triggers associated with animating theavatar. After the message has been sent and processed, the user of thefirst client 602 a may not send any additional messages for a period oftime. The first client 602 a detects such a period of inactivity (step628 a). The first client 602 a identifies and plays an animation of atype associated with a period of inactivity of detected by the firstclient 602 a (step 630 a). This may be accomplished by using a databasetable, list or file that identifies one or more types of animations toplay during a detected idle period.

The second client 602 b processes the instant message in the same was asthe first client 602 a. Specifically, the second client 602 b processesthe message with steps 616 b through 630 b, each of which aresubstantially the same as parallel the message processing steps 616 athrough 630 a performed by the first client 602 a. Because each of thefirst client 602 a and the second client 602 b have copies of theavatars corresponding to the users of the first client 602 a and thesecond client 602 b, the same animations that were played on the firstclient 602 a as a result of executing steps 616 a through 630 a areplayed on the second client 602 b as a result of executing the similarsteps 616 b through 630 b.

During the communications process 600, a text-based message indicatesthe types of animations that occur. However, messages with differenttypes of content also may trigger animations of the avatars. Forexample, characteristics of an audio signal included in an audio-basedmessage may trigger animations from the avatars.

Referring to FIG. 7, a process 700 is used to select and optionallycustomize an avatar for use with an instant messaging system. An avatarmay be customized to reflect a personality to be expressed or anotheraspect of self-expression of the user associated with the avatar. Theprocess 700 begins when a user selects an avatar from multiple avatarsand the selection is received by the processor executing the process 700(step 705). For example, a user may select a particular avatar frommultiple avatars such as the avatars illustrated in FIG. 8. Each of theavatars 805 a-805 r is associated with an avatar model that specifiesthe appearance of the avatar. Each of the avatars 805 a-805 r alsoincludes multiple associated animations, each animation identified asbeing of a particular animation type. The selection may be accomplished,for example, when a user selects one avatar from a group of displayedavatars. The display of the avatars may show multiple avatars in awindow, such as by showing a small representation (which in someimplementations may be referred to as a “thumbnail”) of each avatar.Additionally or alternatively, the display may be a list of avatar namesfrom which the user selects.

FIG. 8 illustrates multiple avatars 805 a-805 r. Each avatar 805 a-805 rincludes an appearance, name, and personality description. In oneexample, avatar 805 a has an appearance 810 a, a name 810 b and apersonality description 810 c. The appearance of an avatar mayrepresent, by way of example, living, fictional or historical people,sea creatures, amphibians, reptiles, mammals, birds, or animatedobjects. Some avatars may be represented only with a head, such asavatars 805 a-805 r. In one example, the appearance of the avatar 805 bincludes a head of a sheep. The appearance of other avatars may includeonly a portion or a specific part of a head. For example, the appearanceof the avatar 805 l resembles a set of lips. Other avatars may berepresented by a body in addition to a head. For example, the appearanceof the avatar 805 n includes a full crab body in addition to a head. Anavatar may be displayed over wallpaper that is related in subject matterto the avatar. In one example, the avatar 805 i is displayed overwallpaper that is indicative of a swamp in which the avatar 805 j lives.

Each of the avatars 805 a-805 r has a base state expression. Forexample, the avatar 805 f appears to be happy, the avatar 805 j appearsto be sad, and the avatar 805 m appears to be angry. Avatars may haveother base state expressions, such as scared or bored. The base stateexpression of an avatar may influence the behavior of the avatar,including the animations and the sounds of the avatar. In one example,the avatar 805 f has a happy base state expression and consequently hasa generally happy behavior, whereas the avatar 805 m has a creepy basestate expression and consequently has a generally scary, creepy andspooky demeanor. In another example, a happy avatar may have upbeatsounds while an angry avatar may appear to be shouting when a sound isproduced. The base state expression of an avatar may be changed as aresult of the activities of a user associated with the avatar. By way ofexample, the degree of happiness expressed by the avatar may be relatedto the number of messages sent or received by the user. When the usersends or receives many messages in a predetermined period of time, theavatar may appear happier than when the user sends or receives fewermessages in the predetermined period of time.

One of multiple avatars 805 a-805 r may be chosen by a user of theinstant messaging system. Each of the avatars 805 a-805 r is associatedwith an appearance, characteristics and behaviors that express aparticular type of personality. For example, an avatar 805 f, which hasappearance characteristics of a dolphin, may be chosen.

Each of the avatars 805 a-805 r is a multi-dimensional character withdepth of personality, voice, and visual attributes. In contrast torepresenting a single aspect of a user through the use of an unanimated,two-dimensional graphical icon, an avatar of the avatars 805 a-805 r iscapable of indicating a rich variety of information about the userprojecting the avatar. Properties of the avatar enable the communicationof physical attributes, emotional attributes, and other types of contextinformation about the user that are not well-suited (or even available)for presentation through the use of two-dimensional icons that are notanimated. In one example, the avatar may reflect the user's mood,emotions, and personality. In another example, the avatar may reflectthe location, activities and other context of the user. Thesecharacteristics of the user may be communicated through the appearance,the visual animations, and the audible sounds of the avatar.

In one example of an avatar personality, an avatar named SoccerBuddy(not shown) is associated with an energetic personality. In fact, thepersonality of the SoccerBuddy avatar may be described as energetic,bouncy, confidently enthusiastic, and youthful. The SoccerBuddy avatar'sbehaviors reflect events in soccer matches. For example, the avatar'syell animation is an “ole, ole, ole” chant, his big-smile animation is“gooooooaaaaaallllll,” and, during a frown animation or a tongue-outanimation, the avatar shows a yellow card. Using wallpaper, theSoccerBuddy is customizable to represent a specific team. Specialfeatures of the SoccerBuddy avatar include cleated feet to represent theavatar's base. In general, the feet act as the base for the avatar. TheSoccerBuddy avatar is capable of appearing to move about bypogo-sticking on his feet. In a few animations, such as when the avatargoes away, the avatar's feet may become large and detach from theSoccerBuddy. The feet are able to be animated to kick a soccer ballaround the display.

In another example, a silent movie avatar is reminiscent of silent filmactor in the 1920's and 1930's. A silent movie avatar is depicted usinga stove-pipe hat and a handle-bar moustache. The silent movie avatar isnot associated with audio. Instead of speaking, the silent movie avataris replaced by, or displays, placards having text in a manner similar tohow speech was conveyed in a silent movie.

In other examples, an avatar may be appropriate to current events or aseason. In one example, an avatar may represent a team or a player on ateam involved in professional or amateur sport. An avatar may representa football team, a baseball team, or a basketball team, or a particularplayer of a team. In one example, teams engaged in a particular playoffseries may be represented. Examples of seasonal avatars include a SantaClaus avatar, an Uncle Sam avatar, a Thanksgiving turkey avatar, aJack-o-Lantern avatar, a Valentine's Day heart avatar, an Easter eggavatar, and an Easter bunny avatar.

Animation triggers of the avatar may be modified to customize whenvarious types of animations associated with the avatar are to occur(step 710). For example, a user may modify the triggers shown in FIG. 4to indicate when an avatar is to be animated, as described previouslywith respect to FIG. 3. The triggers may be augmented to includefrequently used words, phrases, or character strings. The triggers alsomay be modified such that the animations that are played as a result ofthe triggers are indicative of the personality of the avatar. Modifyingthe triggers may help to define the personality expressed by the avatarand used for user self-expression.

A user also may configure the appearance of an avatar (step 715). Thisalso may help define the personality of the avatar, and communicate aself-expressive aspect of the sender. For example, referring also toFIG. 9, an appearance modification user interface 900 may be used toconfigure the appearance of an avatar. In the example of FIG. 9, theappearance modification user interface 900 enables the user to modifymultiple characteristics of a head of an avatar. For example, hair,eyes, nose, lips and skin tone of the avatar may be configured with theappearance modification user interface 900. For example, a hair slider905 may be used to modify the length of the avatar's hair. The variouspositions of the hair slider 905 represent different possible lengths ofhair for the avatar that correspond to different representations of thehair of the avatar included in the avatar model file associated with theavatar being configured. An eyes slider 910 may be used to modify thecolor of the avatar's eyes, with each position of the eyes slider 910representing a different possible color of the avatar's eyes and eachcolor being represented in the avatar model file. A nose slider 915 maybe used to modify the appearance of the avatar's nose, with eachposition of the nose slider 915 representing a different possibleappearance of the avatar's nose and each possible appearance beingrepresented in the avatar model file. In a similar manner, a lips slider920 may be used to modify the appearance of the avatar's lips, with eachposition of the lips slider 920 representing a different possibleappearance of the avatar's lips and associated with a different liprepresentation in the avatar model file. The avatar's skin tone also maybe modified with a skin tone slider 925. Each of the possible positionsof the skin tone slider 925 represents a possible skin tone for theavatar with each being represented in the avatar model file.

The appearance of the avatar that is created as a result of using thesliders 905-925 may be previewed in an avatar viewer 930. The valueschosen with the sliders 905-925 are reflected in the avatar illustratedin the avatar viewer 930. In one implementation, the avatar viewer 930may be updated as each of the sliders 905-925 is moved such that thechanges made to the avatar's appearance are immediately visible. Inanother implementation, the avatar viewer 930 may be updated once afterall of the sliders 905-925 have been used.

A rotation slider 935 enables the rotation of the avatar illustrated inthe avatar viewer 930. For example, the avatar may be rotated about anaxis by a number of degrees chosen on the rotation slider 935 relativeto an unrotated orientation of the avatar. In one implementation, theaxis extends vertically through the center of the avatar's head and theunrotated orientation of the avatar is when the avatar is facingdirectly forward. Rotating the avatar's head with the rotation slider930 enables viewing of all sides of the avatar to illustrate the changesto the avatar's appearance made with the sliders 905-925. The avatarviewer 930 may be updated as the rotation slider 930 is moved such thatchanges in the orientation of the avatar may be immediately visible.

The appearance modification user interface 900 also includes a hair toolbutton 940, a skin tool button 945, and a props tool button 950.Selecting the hair tool button 940 displays a tool for modifying variouscharacteristics of the avatar's hair. For example, the tool displayed asa result of selecting the hair tool button 940 may enable changes to,for example, the length, color, cut, and comb of the avatar's hair. Inone implementation, the changes made to the avatar's hair with the tooldisplayed as a result of selecting the hair tool button 940 arereflected in the illustration of the avatar in the avatar viewer 930.

Similarly, selecting a skin tool button 945 displays a tool formodifying various aspects of the avatar's skin. For example, the tooldisplayed as a result of selecting the skin tool button 945 may enable,for example, changing the color of the avatar's skin, giving the avatara tan, giving the avatar tattoos, or changing the weathering of theavatar's skin to give appearances of the age represented by the avatar.In one implementation, the changes made to the avatar's skin with thetool displayed as a result of selecting the skin tool button 945 arereflected in the illustration of the avatar in the avatar viewer 930.

In a similar manner, selecting the props tool button 950 displays a toolfor associating one or more props with the avatar. For example, theavatar may be given eyeglasses, earrings, hats, or other objects thatmay be worn by, or displayed on or near, the avatar through use of theprops tool. In one implementation, the props given to the avatar withthe tool displayed as a result of selecting the props tool button 950are shown in the illustration of the avatar in the avatar viewer 930. Insome implementations, all of the props that may be associated with theavatar are included in the avatar model file. The props controls whethereach of the props is made visible when the avatar is displayed. In someimplementations, a prop may be created using and rendered bytwo-dimensional animation techniques. The rendering of the prop issynchronized with animations for the three-dimensional avatar. Props maybe generated and associated with an avatar after the avatar is initiallycreated.

Once all desired changes have been made to the avatar's appearance, theuser may accept the changes by selecting a publish button 955. Selectingthe publish button 955 saves the changes made to the avatar'sappearance. In addition, when copies of the avatar are held by otherusers of the instant messaging system to reflect the change made, theother users are sent updated copies of the avatar that reflect thechanges made by the user to the avatar. The copies of the avatar may beupdated so that all copies of the avatar have the same appearance suchthat there is consistency among the avatars used to send and receiveout-of-band communications. The appearance modification user interface900 may be used by the user to change only copies of the avatarcorresponding to the user. Therefore, the user is prevented from makingchanges to other avatars corresponding to other users that may beoverwritten he user is sent updated copies of the other avatars becausethe other users made changes to the other avatars. Preventing the userfrom modifying the other avatars ensures that all copies of the avatarsare identical.

The avatar illustrated in the avatar viewer 930 may have an appearancethat does not include one of hair, eyes, a nose, lips, or skin tone thatare modified with the sliders 905-925. For example, the appearance ofthe avatar 805 l from FIG. 8 does not include hair, eyes, a nose, orskin tone. In such a case, the appearance modification user interface900 may omit the sliders 905-925 and instead include sliders to controlother aspects of the appearance of the avatar. For example, theappearance modification user interface 900 may include a teeth sliderwhen the appearance of the avatar 805 l is being modified. Moreover, theinterface 900 may be customized based on the avatar selected, to enableappropriate and relevant visual enhancements thereto.

In another example of configuring the appearance of an avatar, aconfigurable facial feature of an avatar may be created using blendshapes of the animation model corresponding to the avatar. A blend shapedefines a portion of the avatar that may be animated. In someimplementations, a blend shape may include a mesh percentage that may bemodified to cause a corresponding modification in the facial feature. Insuch a case, a user may be able to configure a facial feature of anavatar by using a slider or other type of control to modify the meshpercentage of the blend shapes associated with the facial feature beingconfigured.

In addition to modifying the appearance of the avatar with theappearance modification user interface 900, the color, texture, andparticles of the avatar may be modified. More particularly, the color orshading of the avatar may be changed. The texture applied to avatar maybe changed to age or weather the skin of the avatar. Furthermore, thewidth, length, texture, and color of particles of the avatar may becustomized. In one example, particles of the avatar used to portray hairor facial hair, such as a beard, may be modified to show hair or beardgrowth in the avatar.

Referring again to FIG. 7, wallpaper over which the avatar isillustrated and an animation for objects in the wallpaper may be chosen(step 720). This may be accomplished by, for example, choosing wallpaperfrom a set of possible wallpapers. The wallpapers may include animatedobjects, or the user may choose objects and animations for the chosenobjects to be added to the chosen wallpaper.

A trading card that includes an image of the avatar, a description ofthe avatar may be created (step 725). In some implementations, thetrading card also may include a description of the user associated withthe avatar. The trading card may be shared with other users of theinstant messaging system to inform the other users of the avatarassociated with the user.

Referring also to FIG. 10, one example of a trading card is depicted.The front side 1045 of the trading card shows the avatar 1046. Theanimations of the avatar may be played by selecting the animationscontrol 1047. The back side 1050 of the trading card includesdescriptive information 1051 about the avatar, including the avatar'sname, date of birth, city, species, likes, dislikes, hobbies, andaspirations. As illustrated in FIG. 10, both the front side 1045 and theback side 1050 of the trading card is shown. In some implementations,only one side 1045 or 1050 of the trading card is able to be displayedat one time. In such a case, a user may be able to control the side ofthe trading card that is displayed by using one of the flip controls1048 or 1052. A store from which accessories for the avatar 1046illustrated in the trading card may be accessed by selecting a shoppingcontrol 1049.

Referring again to FIG. 7, the avatar also may be exported for use inanother application (step 730). In some implementations, an avatar maybe used by an application other than a messaging application. In oneexample, an avatar may be displayed as part of a user's customized homepage of the user's access provider, such as an Internet serviceprovider. An instant message sender may drag-and-drop an avatar to theuser's customized home page such that the avatar is viewable by the usercorresponding to the avatar. In another example, the avatar may be usedin an application in which the avatar is viewable by anyone. An instantmessage sender may drag-and-drop the sender's avatar to the sender'sblog or another type of publicly-accessible online journal. The user mayrepeat one or more of the steps in process 700 until the user issatisfied with the appearance and behavior of the avatar. The avatar issaved and made available for use in an instant messaging communicationssession.

Referring again to FIG. 10, the avatar settings user interface 1000includes a personality section 1002. Selecting a personality tab 1010displays a personality section of the avatar settings interface 1000 formodifying the behavior of the one or more avatars. In oneimplementation, the avatar settings user interface 1000 may be used withthe process 700 of FIG. 7 to choose the wallpaper of an avatar and/or tocreate a trading card for an avatar.

The personality section 1002 of the avatar settings interface 1000includes an avatar list 1015 including the one or more various avatarscorresponding to the user of the instant messaging system. Each of theone or more avatars may be specified to have a distinct personality foruse while communicating with a specific person or in a specificsituation. In one implementation, an avatar may change appearance orbehavior depending on the person with which the user interacts. Forexample, an avatar may be created with a personality that is appropriatefor business communications, and another avatar may be created with apersonality that is appropriate for communications with family members.Each of the avatars may be presented in the list with a name as well asa small illustration of each avatar's appearance. Selection of an avatarfrom the avatar list 1015 enables the specification of the behavior ofthe selected avatar. For example, the avatar 1020, which is chosen to bethe user's default avatar, has been selected from the avatar list 1015,so the behavior of the avatar 1020 may be specified.

Names of the avatars included in the avatar list may be changed throughselection of a rename button 1025. Selecting the rename button displaysa tool for changing the name of an avatar selected from the avatar list1015. Similarly, an avatar may be designated as a default avatar byselecting a default button 1030 after selecting the avatar from theavatar list 1015. Avatars may be deleted by selecting a delete button1035 after selecting the avatar from the avatar list 1015. In oneimplementation, a notification is displayed before the avatar is deletedfrom the avatar list 1015. Avatars also may be created by selecting acreate button 1040. When the create button 1040 is pressed, a new entryis added to the avatar list 1015. The entry may be selected and modifiedin the same way as other avatars in the avatar list 1015.

The behavior of the avatar is summarized in a card front 1045 and a cardback 1050 displayed on the personality section. The card front 1045includes an illustration of the avatar and wallpaper over which theavatar 1020 is illustrated. The card front 1045 also includes a shoppingcontrol 1049 to a means for purchasing props for the selected avatar1020. The card back 1050 includes information describing the selectedavatar 1020 and a user of the selected avatar. The description mayinclude a name, a birth date, a location, as well as other identifyingand descriptive information for the avatar and the user of the avatar.The card back 1050 also may include an illustration of the selectedavatar 1020 as well as the wallpaper over which the avatar 1020 isillustrated. The trading card created as part of the avatarcustomization process 700 includes the card front 1045 and the card back1050 automatically generated by the avatar settings interface 1000.

The personality section 1002 of the avatar settings interface 1000 mayinclude multiple links 1055-1070 to tools for modifying other aspects ofthe selected avatar's 1020 behavior. For example, an avatar link 1055may lead to a tool for modifying the appearance of the selected avatar1020. In one implementation, selecting the avatar link 1055 may displaythe appearance modification user interface 900 from FIG. 9. In anotherimplementation, the avatar link 1055 may display a tool for substitutingor otherwise selecting the selected avatar 1020. In yet another example,the avatar link 1055 may allow the appearance of the avatar to bechanged to a different species. For example, the tool may allow theappearance of the avatar 1020 to be changed from that of a dog to thatof a cat.

A wallpaper link 1060 may be selected to display a tool for choosing thewallpaper over which the selected avatar 1020 is drawn. In oneimplementation, the wallpaper may be animated.

A sound link 1065 may be selected to display a tool with which thesounds made by the avatar 1020 may be modified. The sounds may be playedwhen the avatar is animated, or at other times, to get the attention ofthe user.

An emoticon link 1070 may be selected to display a tool for specifyingemoticons that are available when communicating with the selected avatar1020. Emoticons are two-dimensional non-animated images that are sentwhen certain triggers are included in the text of an instant message.Changes made using the tools that are accessible through the links1055-1070 may be reflected in the card front 1045 and the card back1050. After all desired changes have been made to the avatars includedin the avatar list 1015, the avatar settings interface 1000 may bedismissed by selecting a close button 1075.

It is possible, through the systems and techniques described herein,particularly with respect to FIGS. 11A-14, to enable users to assemblemultiple self-expression items into a collective “online persona” or“online personality,” which may then be saved and optionally associatedwith one or more customized names. Each self-expression item is used torepresent the instant message sender or a characteristic or preferenceof the instant message sender, and may include user-selectable binaryobjects. The self-expression items may be made perceivable by apotential instant message recipient (“instant message recipient”)before, during, or after the initiation of communications by a potentialinstant message sender (“instant message sender”). For example,self-expression items may include an avatar, images, such as wallpaper,that are applied in a location having a contextual placement on a userinterface. The contextual placement typically indicates an associationwith the user represented by the self-expression item. For instance, thewallpaper may be applied in an area where messages from the instantmessage sender are displayed, or in an area around a dialog area on auser interface. Self-expression items also include sounds, animation,video clips, and emoticons (e.g., smileys). The personality may alsoinclude a set of features or functionality associated with thepersonality. For example, features such as encrypted transmission,instant message conversation logging, and forwarding of instant messagesto an alternative communication system may be enabled for a givenpersonality.

Users may assign personalities to be projected when conversing withother users, either in advance of or “on-the-fly” during a communicationsession. This allows the user to project different personalities todifferent people on-line. In particular, users may save one or morepersonalities (e.g., where each personality typically includes groups ofinstant messaging self-expression items such as, for example avatars,Buddy Sounds, Buddy Wallpaper, and Smileys, and/or a set of features andfunctionalities) and they may name those personalities to enable theirinvocation, they may associate each of different personalities withdifferent users with whom they communicate or groups of such users so asto automatically display an appropriate/selected personality duringcommunications with such other users or groups, or they may establisheach of different personalities during this process of creating, addingor customizing lists or groups of users or the individual usersthemselves. Thus, the personalities may be projected to others ininteractive online environments (e.g., Instant Messaging and Chat)according the assignments made by the user. Moreover, personalities maybe assigned, established and/or associated with other settings, suchthat a particular personality may be projected based on time-of-day,geographic or virtual location, or even characteristics or attributes ofeach (e.g., cold personality for winter in Colorado or chattingpersonality while participating in a chat room).

In many instances, an instant message sender may have multiple onlinepersonas for use in an instant message communications session. Eachonline persona is associated with an avatar representing the particularonline persona of the instant message sender. In many cases, each onlinepersona of a particular instant message sender is associated with adifferent avatar. This need not be necessarily so. Moreover, even whentwo or more online personas of a particular instant message senderinclude the same avatar, the appearance or behavior of the avatar may bedifferent for each of the online personas. In one example, a starfishavatar may be associated with two online personas of a particularinstant message sender. The starfish avatar that is associated with oneonline persona may have different animations than the other starfishavatar that is associated with the other online persona. Even when bothof the starfish avatars include the same animations, one of the starfishavatars may be animated to display an animation of a particular typebased on different triggers than the same animation that is displayedfor the other of the starfish avatars.

FIG. 11A shows relationships between online personas, avatars, avatarbehaviors and avatar appearances. In particular, FIG. 11A shows onlinepersonas 1102 a-1102 e and avatars 1104 a-1104 d that are associatedwith the online personas 1102 a-1102 e. Each of the avatars 1104 a-1104d includes an appearance 1106 a-1106 c and a behavior 1108 a-1108 d.More particularly, the avatar 1104 a includes an appearance 1106 a and abehavior 1108 a; the avatar 1104 b includes an appearance 1106 b and abehavior 1108 b; the avatar 1104 c includes the appearance 1106 c and abehavior 1108 c; and the avatar 1104 d includes an appearance 1106 c anda behavior 1108 d. The avatars 1104 c and 1104 d are similar in thatboth include the appearance 1106 c. However, the avatars 1104 c and 1104d differ in that the avatar 1104 c includes the behavior 1108 c whilethe avatar 1104 d includes the behavior 1108 d.

Each of the online personas 1102 a-1102 e is associated with one of theavatars 1104 a-1104 d. More particularly, the online persona 1102 a isassociated with the avatar 1104 a; the online persona 1102 b isassociated with the avatar 1104 b; the online persona 1102 c also isassociated with the avatar 1104 b the online persona 1102 d isassociated with the avatar 1104 c; and the online persona 1102 e isassociated with the avatar 1104 d. As illustrated by the online persona1102 a that is associated with the avatar 1104 a, an online persona maybe associated with an avatar that is not also associated with adifferent online persona.

Multiple online personas may use the same avatar. This is illustrated bythe online personas 1102 b and 1102 c that are both associated with theavatar 1104 b. In this case, the appearance and behavior exhibited byavatar 1104 b is the same for both of the online personas 1102 b and1102 c. In some cases, multiple online personas may use similar avatarsthat have the same appearance by which exhibit different behavior, asillustrated by online personas 1102 d and 1102 e. The online personas1102 d and 1102 e are associated with similar avatars 1104 c and 1104 dthat have the same appearance 1106 c. The avatars 1102 d and 1102 e,however, exhibit different behavior 1108 c and 1108 d, respectively.

In creating personalities, the instant message sender may forbid acertain personality to be shown to designate instant message recipientsand/or groups. For example, if the instant message sender wants toensure that the “Casual” personality is not accidentally displayed tothe boss or to co-workers, the instant message sender may prohibit thedisplay of the “Casual” personality to the boss on an individual basis,and may prohibit the display of the “Casual” personality to the“Co-workers” group on a group basis. An appropriate user interface maybe provided to assist the instant message sender in making such aselection. Similarly, the instant message sender may be provided anoption to “lock” a personality to an instant message recipient or agroup of instant message recipients to guard against accidental orunintended personality switching and/or augmenting. Thus, for example,the instant message sender may choose to lock the “Work” personality tothe boss on an individual basis, or to lock the “Work” personality tothe “Co-workers” group on a group basis. In one example, the Casualpersonality will not be applied to a locked personality.

FIG. 11B shows an exemplary process 1100 to enable an instant messagesender to select an online persona to be made perceivable to an instantmessage recipient. The selected online persona includes an avatarrepresenting the online persona of the instant message sender. Theprocess 1100 generally involves selecting and projecting an onlinepersona that includes an avatar representing the sender. The instantmessage sender creates or modifies one or more online personalities,including an avatar representing the sender (step 1105). The onlinepersonalities may be created or modified with, for example, the avatarsettings user interface 1000 of FIG. 10. Creating an online personagenerally involves the instant message sender selecting one or moreself-expression items and/or features and functionalities to bedisplayed to a certain instant message recipient or group of instantmessage recipients. A user interface may be provided to assist theinstant message sender in making such a selection, as illustrated inFIG. 12.

FIG. 12 shows a chooser user interface 1200 that enables the instantmessage sender to select among available personalities 1205, 1210, 1215,1220, 1225, 1230, 1235, 1240, 1245, 1250, and 1255. The user interface1200 also has a control 1260 to enable the instant message sender to“snag” the personality of another user, and a control 1265 to review thepersonality settings currently selected by the instant message sender.Through the use of the avatar settings interface 1000, the user maychange the personality, including the avatar, being projected to theinstant message recipient before, during, or after the instant messageconversation with the recipient.

Alternatively, the selection of a personality also may occurautomatically without sender intervention. For example, an automaticdetermination may be made that the sender is sending instant messagesfrom work. In such a case, a personality to be used at work may beselected automatically and used for all communications. As anotherexample, an automatic determination may be made that the sender issending instant messages from home, and a personality to be used at homemay be selected automatically and used for all communications. In suchan implementation, the sender is not able to control which personalityis selected for use. In other implementations, automatic selection of apersonality may be used in conjunction with sender selection of apersonality, in which case the personality automatically selected mayact as a default that may be changed by the sender.

FIG. 13 shows a series 1300 of exemplary user interfaces for enabling aninstant message sender to create and store a personality, and/or selectvarious aspects of the personality such as avatars, buddy wallpaper,buddy sounds, and smileys. As shown, user interface 1305 enables aninstant message sender to select a set of one or more self-expressionitems and save the set of self-expression items as a personality. Theuser interface 1305 also enables an instant message sender to review andmake changes to an instant message personality. For example, the userinterface 1305 enables an instant message sender to choose an avatar1310 (here, referred to as a SuperBuddy), buddy wallpaper 1315,emoticons 1320 (here, referred to as Smileys), and buddy sounds 1325. Aset of controls 1340 is provided to enable the instant message sender topreview 1340 a the profile and to save 1340 b these selectedself-expression items as a personality. The instant message sender isable to name and save the personality 1345 and then is able to apply thepersonality 1350 to one or more individual instant message recipients orone or more groups of instant message recipients. A management area 1350a is provided to enable the instant message sender to delete, save, orrename various instant message personalities. In choosing theself-expression items, other interfaces such as user interface 1355 maybe displayed to enable the instant message sender to select theparticular self-expression items. The user interface 1355 includes a setof themes 1360 for avatars which enables an instant message sender toselect a particular theme 1365 and choose a particular avatar 1370 inthe selected theme. A set of controls 1375 is provided to assist theinstant message sender in making the selection of self-expression items.Also, an instant message sender may be enabled to choose apre-determined theme, for example, by using a user interface 1380. Inuser interface 1380, the instant message sender may select variouscategories 1385 of pre-selected themes and upon selecting a particularcategory 1390, a set of default pre-selected, self-expression items isdisplayed, 1390 a, 1390 b, 1390 c, 1390 d, 1390 e, and 1390 f. The setmay be unchangeable or the instant message sender may be able toindividually change any of the pre-selected self-expression items in theset. A control section 1395 is also provided to enable the instantmessage sender to select the themes.

In another implementation, the features or functionality of the instantmessage interface may vary based upon user-selected or pre-selectedoptions for the personality selected or currently in use. The featuresor functionality may be transparent to the instant message sender. Forexample, when using the “Work” personality, the outgoing instantmessages may be encrypted, and a copy may be recorded in a log, or acopy may be forwarded to a designated contact such as an administrativeassistant. A warning may be provided to an instant message recipientthat the instant message conversation is being recorded or viewed byothers, as appropriate to the situation. By comparison, if thenon-professional “Casual” personality is selected, the outgoing instantmessages may not be encrypted and no copy is recorded or forwarded.

As a further example, if the “Work” personality is selected and theinstant message sender indicates an unavailability to receive instantmessages (e.g., through selection of an “away” message or by goingoffline), then messages received from others during periods ofunavailability may be forwarded to another instant message recipientsuch as an administrative assistant, or may be forwarded to an e-mailaddress for the instant message sender. By comparison, if thenon-professional “Casual” personality is selected, no extra measures aretaken to ensure delivery of the message.

In one implementation, the features and functionality associated withthe personality would be transparent to the instant message sender, andmay be based upon one or more pre-selected profiles types when settingup the personality. For example, the instant message sender may be askedto choose from a group of personality types such as professional,management, informal, vacation, offbeat, etc. In the example above, the“Work” personality may have been be set up as a “professional”personality type and the “Casual” personality may have been set up as an“informal” personality type. In another implementation, the instantmessage sender may individually select the features and functionalitiesassociated with the personality.

Referring again to FIG. 11B, the personality is then stored (step 1110).The personality may be stored on the instant message sender system, onthe instant message host system, or on a different host system such as ahost system of an authorized partner or access provider.

Next, the instant message sender assigns a personality to be projectedduring future instant message sessions or when engaged in future instantmessage conversations with an instant message recipient (step 1115). Theinstant message sender may wish to display different personalities todifferent instant message recipients and/or groups in the buddy list.The instant message sender may use a user interface to assignpersonalization items to personalities on at least a per-buddy groupbasis. For example, an instant message sender may assign a global avatarto all personalities, but assign different buddy sounds on a per-groupbasis to other personalities (e.g. work, family, friends), and assignbuddy wallpaper and smileys on an individual basis to individualpersonalities corresponding to particular instant message recipientswithin a group. The instant message sender may assign other personalityattributes based upon the occurrence of certain predetermined events ortriggers. For example, certain potential instant message recipients maybe designated to see certain aspects of the Rainy Day personality if theweather indicates rain at the geographic location of the instant messagesender. Default priority rules may be implemented to resolve conflicts,or the user may select priority rules to resolve conflicts amongpersonalities being projected or among self-expression items beingprojected for an amalgamated personality.

For example, a set of default priority rules may resolve conflicts amongassigned personalities by assigning the highest priority topersonalities and self-expression items of personalities assigned on anindividual basis, assigning the next highest priority to assignments ofpersonalities and personalization items made on a group basis, andassigning the lowest priority to assignments of personalities andpersonalization items made on a global basis. However, the user may begiven the option to override these default priority rules and assigndifferent priority rules for resolving conflicts.

Next, an instant message session between the instant message sender andthe instant message recipient is initiated (step 1120). The instantmessage session may be initiated by either the instant message sender orthe instant message recipient.

An instant message user interface is rendered to the instant messagerecipient, configured to project the personality, including the avatar,assigned to the instant message recipient by the instant message sender(step 1125), as illustrated, for example, in the user interface 100 inFIG. 1. The personality, including an avatar associated with thepersonality, chosen by an instant messaging recipient may be madeperceivable upon opening of a communication window by the instantmessage sender for a particular instant message recipient but prior toinitiation of communications. This may allow a user to determine whetherto initiate communications with instant message recipient. For example,an instant message sender may notice that the instant message recipientis projecting an at-work personality, and the instant message sender maydecide to refrain from sending an instant message. This may beparticularly true when the avatar of the instant message recipient isdisplayed on a contact list. On the other hand, rendering the instantmessage recipient avatar after sending an instant message may result inmore efficient communications.

The appropriate personality/personalization item set for a buddy is sentto the buddy when the buddy communicates with the instant message senderthrough the instant messaging client program. For example, in animplementation which supports global personalization items, grouppersonalization items, and personal personalization items, a personalpersonalization item is sent to the buddy if set, otherwise a grouppersonalization item is sent, if set. If neither a personal nor a grouppersonalization item is set, then the global personalization item issent. As another example, in an implementation that supports globalpersonalization items and group personalization items, the grouppersonalization item for the group to which the buddy belongs is sent,if set, otherwise the global personalization item is sent. In animplementation that only supports group personalization items, the grouppersonalization item for the group to which the buddy belongs is sent tothe buddy.

An instant message session between the instant message sender andanother instant message recipient also may be initiated (step 1130) byeither the instant message sender or the second instant messagerecipient.

Relative to the second instant message session, a second instant messageuser interface is rendered to the second instant message recipient,configured to project the personality, including the avatar, assigned tothe second instant message recipient by the instant message sender (step1135), similar to the user interface illustrated by FIG. 1. Thepersonality may be projected in a similar manner to that described abovewith respect to step 1125. However, the personality and avatar projectedto the second instant message recipient may differ from the personalityand avatar projected to the first instant message recipient describedabove in step 1125.

Referring to FIG. 14, an exemplary process 1400 enables an instantmessage sender to change a personality assigned to an instant messagerecipient. In process 1400, a user selection of a new online persona,including an avatar, to be assigned to the instant message recipient isreceived (step 1405). The change may be received through an instantmessage chooser 1200, such as that discussed above with respect to FIG.12, and may include choosing self-expression items and/or features andfunctionality using such as interface or may include “snagging” anonline persona or an avatar of the buddy using such an interface.Snagging an avatar refers to the appropriation by the instant, messagesender of one or more personalization items, such as the avatar, used bythe instant message recipient. Typically, all personalization items inthe online persona of the instant message recipient are appropriated bythe instant message sender when “snagging” an online persona.

Next, the updated user interface for that instant message recipient isrendered based on the newly selected personality (step 1410).

FIG. 15 illustrates an example process 1500 for modifying theappearance, or the behavior, of an avatar associated with an instantmessage sender to communicate an out-of-band message to an instantmessage recipient. The process may be performed by an instant messagingsystem, such as communications systems 1600, 1700, and 1800 describedwith respect to FIGS. 16, 17, and 18, respectively. An out-of-bandmessage refers to sending a message that communicates contextout-of-band—that is, conveying information independent of informationconveyed directly through the text of the instant message itself sent tothe recipient. Thus, the recipient views the appearance and behavior ofthe avatar to receive information that is not directly or explicitlyconveyed in the instant message itself. By way of example, anout-of-band communication may include information about the sender'ssetting, environment, activity or mood, which is not communicated andpart of a text message exchanged by a sender and a recipient.

The process 1500 begins with the instant messaging system monitoring thecommunications environment and sender's environment for an out-of-bandcommunications indicator (step 1510). The indicator may be an indicatorof the sender's setting, environment, activity, or mood that is notexpressly conveyed in instant messages sent by the sender. For example,the out-of-band indicator may be an indication of time and date of thesender's location, which may be obtained from a clock applicationassociated with the instant messaging system or with the sender'scomputer. The indicator may be an indication of the sender's physicallocation. The indicator may be an indication of an indication of weatherconditions of the sender's location, which may be obtained from aweather reporting service, such as a web site that provides weatherinformation for geographic locations.

In addition, the indicator may indicate the activities of the senderthat take place at, or near, the time when an instant message is sent.For example, the indicator may determine from the sender's computerother applications that are active at, or near, the time that an instantmessage is sent. For example, the indicator may detect that the senderis using a media-playing application to play music, so the avatarassociated with the sender may appear to be wearing headphones toreflect that the sender is listening to music. As another example, theindicator may detect that the sender is working with a calculatorapplication, so the avatar may appear to be wearing glasses to reflectthat sender is working.

The activities of the sender also may be monitored through use of acamera focused on the sender. Visual information taken from the cameramay be used to determine the activities and mood of the sender. Forexample, the location of points on the face of the sender may bedetermined from the visual information taken from the camera. Theposition and motion of the facial points may be reflected in the avatarassociated with the sender. Therefore, if the sender were to, forexample, smile, then the avatar also smiles.

The indicator of the sender's mood also may come from another devicethat is operable to determine the sender's mood and send an indicationof mood to the sender's computer. For example, the sender may be wearinga device that monitors heart rate, and determines the sender's mood fromthe heart rate. For example, the device may conclude that the sender isagitated or excited when an elevated heart rate is detected. The devicemay send the indication of the sender's mood to the sender's computerfor use with the sender's avatar.

The instant messaging system makes a determination as to whether anout-of-band communications indicator has been detected (step 1520). Whenan out-of-band communications indicator is detected, the instantmessaging system determines whether the avatar must be modified,customized, or animated to reflect the detected out-of-bandcommunications indicator (step 1530); meanwhile or otherwise, theinstant messaging system continues to monitor for out-of-bandcommunications indicators (step 1510). To determine whether action isrequired, the instant messaging system may use a data table, list orfile that includes out-of-band communications indicators and anassociated action to be taken for each out-of-band communicationsindicator. Action may not be required for each out-of-bandcommunications indicator detected. For example, action may only berequired for some out-of-band communications indicators when anindicator has changed from a previous indicator setting. By way ofexample, the instant messaging system may periodically monitor the clockapplication to determine whether the setting associated with the senderis daytime or nighttime. Once the instant messaging system has takenaction based on detecting an out-of-band communications indicator havinga nighttime setting, the instant messaging system need not take actionbased on the detection of a subsequent nighttime setting indicator. Theinstant messaging system only takes action based on the nighttimesetting after receiving an intervening out-of-band communicationsindicator for a daytime setting.

When action is required (step 1540), the appearance and/or behavior ofthe avatar is modified in response to the out-of-band communicationsindicator (step 1550).

In one example, when an out-of-band communications indicator shows thatthe sender is sending instant messages at night, the appearance of theavatar is modified to be dressed in pajamas. When the indicator showsthat the sender is sending instant messages during a holiday period, theavatar may be dressed in a manner illustrative of the holiday. By way ofexample, the avatar may be dressed as Santa Claus during December, apumpkin near Halloween, or Uncle Sam during early July.

In another example, when the out-of-band indicator shows that the senderis at the office, the avatar may be dressed in business attire, such asa suit and a tie. The appearance of the avatar also may reflect theweather or general climate of the geographic location of the sender. Forexample, when the out-of-band communications indicator shows that it israining at the location of the sender, the wallpaper of the avatar maybe modified to include falling raindrops or display an open umbrellaand/or the avatar may appear to wear a rain hat.

As another example, when the out-of-band communications indicator showsthat the sender is listening to music, the appearance of the avatar maybe changed to show the avatar wearing headphones. Additionally oralternatively, the appearance of the avatar may be changed based on thetype of music to which the sender is listening. When the indicatorindicates that the sender is working (at the sender's work location orat another location), the avatar may appear in business attire, such aswearing a suit and a tie. As indicated by this example, differentout-of-band communications indicators may trigger the same appearance ofthe avatar. In particular, both the out-of-band communications indicatorof the sender being located at work and the out-of-band communicationsindicator of the sender performing a work activity causes the avatar toappear to be wearing a suit and tie.

In yet another example of an out-of-band communications indicator, themood of the sender may be so indicated. In such a case, the appearanceof the avatar may be changed to reflect the indicated mood. For example,when the sender is sad, the avatar may be modified to reflect the sadstate of the sender, such as by animating the avatar to frown or cry. Inanother example, based on the detected activity of the sender, afrazzled, busy or pressed mood may be detected and the avatar animatedto communicate such an emotional state.

After the avatar appearance and/or behavior has been modified to reflectthe out-of-band indicator (step 1550), the updated avatar, or anindication that the avatar has been updated, is communicated to therecipient (step 1560). Generally, the updated avatar, or indication thatthe avatar has been changed, is provided in association with the nextinstant message sent by the sender; however, this is not necessarily soin every implementation. In some implementations, a change in the avatarmay be communicated to the recipient independently of the sending of acommunication. Additionally or alternatively, when a buddy list of theinstant message user interface includes a display of a sender's avatar,the change of the avatar appearance may be communicated to each buddylist that includes the sender. Thus, the recipient is made able toperceive the updated avatar, the behavior and/or appearance providing anout-of-band communication to the sender.

FIG. 16 illustrates a communications system 1600 that includes aninstant message sender system 1605 capable of communicating with aninstant message host system 1610 through a communication link 1615. Thecommunications system 1600 also includes an instant message recipientsystem 1620 capable of communicating with the instant message hostsystem 1610 through the communication link 1615. Using thecommunications system 1600, a user of the instant message sender system1605 is capable of exchanging communications with a user of the instantmessage recipient system 1620. The communications system 1600 is capableof animating avatars for use in self-expression by an instant messagesender.

In one implementation, any of the instant message sender system 1605,the instant message recipient system 1620, or the instant message hostsystem 1610 may include one or more general-purpose computers, one ormore special-purpose computers (e.g., devices specifically programmed tocommunicate with each other), or a combination of one or moregeneral-purpose computers and one or more special-purpose computers. Byway of example, the instant message sender system 1605 or the instantmessage recipient system 1620 may be a personal computer or other typeof personal computing device, such as a personal digital assistant or amobile communications device. In some implementations, the instantmessage sender system 1605 and/or the instant message recipient 1620 maybe a mobile telephone that is capable of receiving instant messages.

The instant message sender system 1605, the instant message recipientsystem 1620 and the instant message host system 1610 may be arranged tooperate within or in concert with one or more other systems, such as,for example, one or more LANs (“Local Area Networks”) and/or one or moreWANs (“Wide Area Networks”). The communications link 1615 typicallyincludes a delivery network (not shown) that provides direct or indirectcommunication between the instant message sender system 1605 and theinstant message host system 1610, irrespective of physical separation.Examples of a delivery network include the Internet, the World Wide Web,WANs, LANs, analog or digital wired and wireless telephone networks(e.g., Public Switched Telephone Network (PSTN), Integrated ServicesDigital Network (ISDN), and various implementations of a DigitalSubscriber Line (DSL)), radio, television, cable, or satellite systems,and other delivery mechanisms for carrying data. The communications link1615 may include communication pathways (not shown) that enablecommunications through the one or more delivery networks describedabove. Each of the communication pathways may include, for example, awired, wireless, cable or satellite communication pathway.

The instant message host system 1610 may support instant messageservices irrespective of an instant message sender's network or Internetaccess. Thus, the instant message host system 1610 may allow users tosend and receive instant messages, regardless of whether they haveaccess to any particular Internet service provider (ISP). The instantmessage host system 1610 also may support other services, including, forexample, an account management service, a directory service, and a chatservice. The instant message host system 1610 has an architecture thatenables the devices (e.g., servers) within the instant message hostsystem 1610 to communicate with each other. To transfer data, theinstant message host system 1610 employs one or more standard orproprietary instant message protocols.

To access the instant message host system 1610 to begin an instantmessage session in the implementation of FIG. 16, the instant messagesender system 1605 establishes a connection to the instant message hostsystem 1610 over the communication link 1615. Once a connection to theinstant message host system 1610 has been established, the instantmessage sender system 1605 may directly or indirectly transmit data toand access content from the instant message host system 1610. Byaccessing the instant message host system 1610, an instant messagesender can use an instant message client application located on theinstant message sender system 1605 to view whether particular users areonline, view whether users may receive instant messages, exchangeinstant messages with particular instant message recipients, participatein group chat rooms, trade files such as pictures, invitations ordocuments, find other instant message recipients with similar interests,get customized information such as news and stock quotes, and search theWeb. The instant message recipient system 1620 may be similarlymanipulated to establish contemporaneous connection with instant messagehost system 1610.

Furthermore, the instant message sender may view or perceive an avatarand/or other aspects of an online persona associated with the instantmessage sender prior to engaging in communications with an instantmessage recipient. For example, certain aspects of an instant messagerecipient selected personality, such as an avatar chosen by the instantmessage recipient, may be perceivable through the buddy list itselfprior to engaging in communications. Other aspects of a selectedpersonality chosen by an instant message recipient may be madeperceivable upon opening of a communication window by the instantmessage sender for a particular instant message recipient but prior toinitiation of communications. For example, animations of an avatarassociated with the instant message sender only may be viewable in acommunication window, such as the user interface 100 of FIG. 1.

In one implementation, the instant messages sent between instant messagesender system 1605 and instant message recipient system 1620 are routedthrough the instant message host system 1610. In another implementation,the instant messages sent between instant message sender system 1605 andinstant message recipient system 1620 are routed through a third partyserver (not shown), and, in some cases, are also routed through theinstant message host system 1610. In yet another implementation, theinstant messages are sent directly between instant message sender system1605 and instant message recipient system 1620.

The techniques, processes and concepts in this description may beimplemented using communications system 1600. One or more of theprocesses may be implemented in a client/host context, a standalone oroffline client context, or a combination thereof. For example, whilesome functions of one or more of the processes may be performed entirelyby the instant message sender system 1605, other functions may beperformed by host system 1610, or the collective operation of theinstant message sender system 1605 and the host system 1610. By way ofexample, in process 300, the avatar of an instant message sender may berespectively selected and rendered by the standalone/offline device, andother aspects of the online persona of the instant message sender may beaccessed or updated through a remote device in a non-client/hostenvironment such as, for example, a LAN server serving an end user or amainframe serving a terminal device.

FIG. 17 illustrates a communications system 1700 that includes aninstant message sender system 1605, an instant message host system 1610,a communication link 1615, and an instant message recipient 1620. System1700 illustrates another possible implementation of the communicationssystem 1600 of FIG. 16 that is used for animating avatars used forself-expression by an instant message sender.

In contrast to the depiction of the instant message host system 1610 inFIG. 16, the instant message host system 1610 includes a login server1770 for enabling access by instant message senders and routingcommunications between the instant message sender system 1605 and otherelements of the instant message host system 1610. The instant messagehost system 1610 also includes an instant message server 1790. To enableaccess to and facilitate interactions with the instant message hostsystem 1610, the instant message sender system 1605 and the instantmessage recipient system 1620 may include communication software, suchas for example, an online service provider client application and/or aninstant message client application.

In one implementation, the instant message sender system 1605establishes a connection to the login server 1770 in order to access theinstant message host system 1610 and begin an instant message session.The login server 1770 typically determines whether the particularinstant message sender is authorized to access the instant message hostsystem 1610 by verifying the instant message sender's identification andpassword. If the instant message sender is authorized to access theinstant message host system 1610, the login server 1770 usually employsa hashing technique on the instant message sender's screen name toidentify a particular instant message server 1790 within the instantmessage host system 1610 for use during the instant message sender'ssession. The login server 1770 provides the instant message sender(e.g., instant message sender system 1605) with the Internet protocol(“IP”) address of the instant message server 1790, gives the instantmessage sender system 1605 an encrypted key, and breaks the connection.The instant message sender system 1605 then uses the IP address toestablish a connection to the particular instant message server 1790through the communications link 1615, and obtains access to the instantmessage server 1790 using the encrypted key. Typically, the instantmessage sender system 1605 will be able to establish an open TCPconnection to the instant message server 1790. The instant messagerecipient system 1620 establishes a connection to the instant messagehost system 1610 in a similar manner.

In one implementation, the instant message host system 1610 alsoincludes a user profile server (not shown) connected to a database (notshown) for storing large amounts of user profile data. The user profileserver may be used to enter, retrieve, edit, manipulate, or otherwiseprocess user profile data. In one implementation, an instant messagesender's profile data includes, for example, the instant messagesender's screen name, buddy list, identified interests, and geographiclocation. The instant message sender's profile data may also includeself-expression items selected by the instant message sender. Theinstant message sender may enter, edit and/or delete profile data usingan installed instant message client application on the instant messagesender system 1705 to interact with the user profile server.

Because the instant message sender's data are stored in the instantmessage host system 1610, the instant message sender does not have toreenter or update such information in the event that the instant messagesender accesses the instant message host system 1610 using a new ordifferent instant message sender system 1605. Accordingly, when aninstant message sender accesses the instant message host system 1610,the instant message server can instruct the user profile server toretrieve the instant message sender's profile data from the database andto provide, for example, the instant message sender's self-expressionitems and buddy list to the instant message server. Alternatively, userprofile data may be saved locally on the instant message sender system1605.

FIG. 18 illustrates another example communications system 1800 capableof exchanging communications between users that project avatars forself-expression. The communications system 1800 includes an instantmessage sender system 1605, an instant message host system 1610, acommunications link 1615 and an instant message recipient system 1620.

The host system 1610 includes instant messaging server software 1832routing communications between the instant message sender system 1605and the instant message recipient system 1620. The instant messagingserver software 1832 may make use of user profile data 1834. The userprofile data 1834 includes indications of self-expression items selectedby an instant message sender. The user profile data 1834 also includesassociations 1834 a of avatar models with users (e.g., instant messagesenders). The user profile data 1834 may be stored, for example, in adatabase or another type of data collection, such as a series ofextensible mark-up language (XML) files. In some implementations, thesome portions of the user profile data 1834 may be stored in a databasewhile other portions, such as associations 1834 a of avatar models withusers, may be stored in an XML file.

One implementation of user profile data 1834 appears in the table below.In this example, the user profile data includes a screen name touniquely identify the user for whom the user profile data applies, apassword for signing-on to the instant message service, an avatarassociated with the user, and an optional online persona. As shown inTable 1, a user may have multiple online personas, each associated withthe same or a different avatar.

TABLE 1 Screen Name Password Avatar Online Persona Robert_Appleby 5846%JYNG Clam Work Robert_Appleby 5846% JYNG Starfish Casual Susan_Merit6748#474V Dolphin Bill_Smith JHG7868$0 Starfish Casual Bill_SmithJHG7868$0 Starfish Family Greg_Jones 85775$#59 Frog

The host system 1610 also includes an avatar model repository 1835 inwhich definitions of avatars that may be used in the instant messageservice are stored. In this implementation, an avatar definitionincludes an avatar model file, an avatar expression file for storinginstructions to control the animation of the avatar, and wallpaper file.Thus, the avatar model repository 1835 includes avatar model files 1836,avatar expression files 1837 and avatar wallpaper files 1838.

The avatar model files 1836 define the appearance and animations of eachof the avatars included in the avatar model repository 1835. Each of theavatar model files 1836 defines the mesh, texture, lighting, sounds, andanimations used to render an avatar. The mesh of a model file definesthe form of the avatar, and the texture defines the image that coversthe mesh. The mesh may be represented as a wire structure composed of amultitude of polygons that may be geometrically transformed to enablethe display of an avatar to give the illusion of motion. In oneimplementation, lighting information of an avatar model file is in theform of a light map that portrays the effect of a light source on theavatar. The avatar model file also includes multiple animationidentifiers. Each animation identifier identifies a particular animationthat may be played for the avatar. For example, each animationidentifier may identify one or more morph targets to describe displaychanges to transform the mesh of an avatar and display changes in thecamera perspective used to display the avatar.

When an instant message user projects an avatar self-expression, it maybe desirable to define an avatar with multiple animations, includingfacial animations, to provide more types of animations usable by theuser for self-expression. Additionally, it may be desirable for facialanimations to use a larger number of blend shapes, which may result inan avatar that, when rendered, may appears more expressive. A blendshape defines a portion of the avatar that may be animated and, ingeneral, the more blend shapes that are defined for an animation model,the more expressive the image rendered from the animation model mayappear.

Various data management techniques may be used to implement the avatarmodel files. In some implementations, information to define an avatarmay be stored in multiple avatar files that may be arranged in ahierarchical structure, such as a directory structure. In such a case,the association between a user and an avatar may be made through anassociation of the user with the root file in a directory of model filesfor the avatar.

In one implementation, an avatar model file may include all possibleappearances of an avatar, including different features and props thatare available for user-customization. In such a case, user preferencesfor the appearance of the user's avatar include indications of whichportions of the avatar model are to be displayed, and flags or otherindications for each optional appearance feature or prop may be set toindicate whether the feature or prop is to be displayed. By way ofexample, an avatar model may be configured to display sunglasses,reading glasses, short hair and long hair. When a user configures theavatar to wear sunglasses and have long hair, the sunglasses feature andlong hair features are turned on, the reading glasses and short hairfeatures are turned off, and subsequent renderings of the avatar displaythe avatar having long hair and sunglasses.

The avatar model repository 1835 also includes avatar expression files1837. Each of the avatar expression files 1837 defines triggers thatcause animations in the avatars. For example, each of the avatarexpression files 1837 may define the text triggers that cause an ofanimation when the text trigger is identified in an instant message, aspreviously described with respect to FIGS. 3 and 4. An avatar expressionfile also may store associations between out-of-band communicationindicators and animations that are played when a particular out-of-bandcommunication indicator is detected. One example of a portion of anavatar expression file is depicted in Table 2 below.

TABLE 2 OUT-OF-BAND ANIMATION COMMUNICATION TYPE TRIGGERS INDICATORSSMILE :) :-) Nice GONE AWAY bye brb cu gtg cul bbl Instruction to shutdown gg b4n ttyl ttfn computer SLEEP zzz tired sleepy snooze Time isbetween 1 a.m. and 5 a.m. WINTER Date is between November 1 CLOTHES andMarch 1 RAIN Weather is rain SNOW Weather is snow

In some implementations, the association between a particular animationfor a particular animation identifier is indirectly determined for aparticular trigger or out-of-band communication indicator. For example,a particular trigger or out-of-band communication indicator may beassociated with a type of animation (such as a smile, gone away, orsleep), as illustrated in Table 2. A type of animation also may beassociated with a particular animation identifier included in aparticular avatar model file, as illustrated in Table 3 below. In such acase, to play an animation based on a particular trigger or out-of-bandcommunication indicator, the type of animation is identified, theanimation identifier associated with the identified type of animation isdetermined, and the animation identified by the animation identifier isplayed. Other computer animation and programming techniques also may beused. For example, each avatar may use the same animation identifier fora particular animation type rather than including the avatar name shownin the table. Alternatively or additionally, the association ofanimation types and animation identifiers may be stored separately foreach avatar.

TABLE 3 ANIMATION ANIMATION TYPE IDENTIFIER AVATAR NAME SMILE 1304505DOLPHIN SMILE 5858483 FROG GONE AWAY 4848484 DOLPHIN

The avatar expression files 1837 also include information to define theway that an avatar responds to an animation of another avatar. In oneimplementation, an avatar expression file includes pairs of animationidentifiers. One of the animation identifiers in each pair identifies atype of animation that, when the type of animation is played for oneavatar, triggers an animation that is identified by the other animationidentifier in the pair in another avatar. In this manner, the avatarexpression file may define an animation played for an instant messagerecipient's avatar in response to an animation played by an instantmessage sender's avatar. In some implementations, the avatar expressionfiles 1837 may include XML files having elements for defining the texttriggers for each of the animations of the corresponding avatar andelements for defining the animations that are played in response toanimations seen from other avatars.

The avatar model repository 1835 also includes avatar wallpaper files1838 that define the wallpaper over which an avatar is drawn. Thewallpaper may be defined using the same or different type of filestructure as the avatar model files. For example, an avatar model filemay be defined as an animation model file that is generated and playableusing animation software from Viewpoint Corporation of New York, N.Y.,whereas the wallpaper files may be in the form of a Macromedia Flashfile that is generated and playable using animation software availablefrom Macromedia, Inc. of San Francisco, Calif. When wallpaper includesanimated objects that are triggered by an instant message, anout-of-band communication indicator or an animation of an avatar, theavatar wallpaper files 1838 also may include one or more triggers thatare associated with the wallpaper animation.

Each of the instant message sender system 1605 and the instant messagerecipient system 1620 includes an instant messaging communicationapplication 1807 or 1827 that capable of exchanging instant messagesover the communications link 1615 with the instant message host system1610. The instant messaging communication application 1807 or 1827 alsomay be referred to as an instant messaging client.

Each of the instant message sender system 1605 and the instant messagerecipient system 1620 also includes avatar data 1808 or 1828. The avatardata 1808 or 1828 include avatar model files 1808 a or 1828 a, avatarexpression files 1808 b or 1828 b, and avatar wallpaper files 1808 c or1828 c for the avatars that are capable of being rendered by the instantmessage sender system 1605 or the instant message recipient system 1620,respectively. The avatar data 1808 or 1828 may be stored in persistentstorage, transient storage, or stored using a combination of persistentand transient storage. When all or some of the avatar data 1808 or 1828is stored in persistent storage, it may be useful to associate apredetermined date on which some or all of the avatar data 1808 or 1828is to be deleted from the instant message sender system 1605 or theinstant message recipient system 1620, respectively. In this manner,avatar data may be removed from the instant message sender system 1605or the instant message recipient system 1620 after the data has residedon the instant message sender system 1605 or 1620 for a predeterminedperiod of time and presumably is no longer needed. This may help reducethe amount of storage space used for instant messaging on the instantmessage sender system 1605 or the instant message recipient system 1620.

In one implementation, the avatar data 1808 or 1828 is installed on theinstant message sender system 1605 or the instant message recipientsystem 1620, respectively, with the instant messaging client softwareinstalled on the instant message sender system 1605 or the instantmessage recipient system 1620. In another implementation, the avatardata 1808 or 1828 is transmitted to the instant message sender system1605 or the instant message recipient system 1620, respectively, fromthe avatar model repository 1835 of the instant messaging host system1610. In yet another implementation, the avatar data 1808 or 1828 iscopied from a source unrelated to instant messaging and stored for useas instant messaging avatars on the instant message sender system 1605or the instant message recipient system 1620, respectively. In yetanother implementation, the avatar data 1808 or 1828 is sent to theinstant message sender system 1605 or the instant message recipientsystem 1620, respectively, with or incident to instant messages sent tothe instant message sender system 1605 or the instant message recipientsystem 1620. The avatar data sent with an instant message corresponds tothe instant message sender that sent the message.

The avatar expression files 1808 b or 1828 b are used to determine whenan avatar is to be rendered on the instant message sender system 1605 orthe instant message recipient 1620, respectively. To render an avatar,one of the avatar model files 1808 a is displayed on the two-dimensionaldisplay of the instant messaging system 1605 or 1620 by an avatar modelplayer 1809 or 1829, respectively. In one implementation, the avatarmodel player 1808 or 1829 is an animation player by ViewpointCorporation. More particularly, the processor of the instant messagingsystem 1605 or 1620 calls the avatar model player 1809 or 1829 andidentifies an animation included in one of the avatar model files 1808 aor 1828 a. In general, the animation is identified by an animationidentifier in the avatar model file. The avatar model player 1809 or1829 then accesses the avatar model file and plays the identifiedanimation.

In many cases multiple animations may be played based on a singletrigger or out-of-band communications indicator. This may occur, forexample, when one avatar reacts to an animation of another avatar thatis animated based on a text trigger, as described previously withrespect to FIG. 6.

In the system 1800, four animations may be separately initiated based ona text trigger in one instant message. An instant message senderprojecting a self-expressive avatar uses instant message sender system1605 to sends a text message to an instant message recipient usinginstant message recipient system 1620. The instant message recipientalso is projecting a self-expressive avatar. The display of the instantmessage sender system 1605 shows an instant message user interface, suchas user interface 100 of FIG. 1, as does the display of instant messagerecipient system 1620. Thus, the sender avatar is shown on both theinstant message sender system 1605 and the instant message recipientsystem 1620, as is the recipient avatar. The instant message sent frominstant message sender system includes a text trigger that causes theanimation of the sender avatar on the instant message sender system 1605and the sender avatar on the instant message recipient system 1620. Inresponse to the animation of the sender avatar, the recipient avatar isanimated, as described previously with respect to FIG. 6. The reactiveanimation of the recipient avatar occurs in both the recipient avatardisplayed on the instant message sender system 1605 and the recipientavatar displayed on the instant message recipient system 1620.

In some implementations, an instant messaging user is permitted tocustomize one or more of the animation triggers or out-of-bandcommunications indicators for avatar animations, wallpaper displayed foran avatar, triggers or out-of-band communications indicators foranimating objects of the wallpaper, and the appearance of the avatar. Inone implementation, a copy of an avatar model file, an expression fileor a wallpaper file is made and the modifications of the user are storedin the copy of the avatar model file, an expression file or a wallpaperfile. The copy that includes the modification is then associated withthe user. Alternatively or additionally, only the changes—that is, thedifferences between the avatar before the modifications and the avatarafter the modifications are made—are stored. In some implementations,different versions of the same avatar may be stored and associated witha user. This may enable a user to modify an avatar, use the modifiedavatar for a period of time, and then return to using a previous versionof the avatar that does not include the modification.

In some implementations, the avatars from which a user may choose may belimited by the instant message service provider. This may be referred toas a closed implementation or a locked-down implementation. In such animplementation, the animations and triggers associated with each avatarwithin the closed set of avatars may be preconfigured. In some closedimplementations, the user may customize the animations and/or triggersof a chosen avatar. For example, a user may include a favorite videoclip as an animation of an avatar, and the avatar may be configured toplay the video clip after certain text triggers appear in the messagessent by the user. In other closed implementations, the user is alsoprevented from adding animations to an avatar.

In some implementations, the set of avatars from which a user may chooseis not limited by the instant message service provider, and the user mayuse an avatar other than an avatar provided by the instant messageservice provider. This may be referred to as an open implementation oran unlocked implementation. For example, an avatar usable in an instantmessage service may be created by a user using animation softwareprovided by the instant message service provider, off-the-shelf computeranimation software, or software tools provided by a third-party that arespecialized for the creating avatars compatible with one or more instantmessage services.

In some implementations, a combination of a closed-implementation and anopen-implementation may be used. For example, an instant message serviceprovider may limit the selection by users who are minors to a set ofpredetermined avatars provided by the instant message service providerwhile permitting users who are adults to use an avatar other than anavatar available from the instant message service provider.

In some implementations, the avatars from which a user may select may belimited based on a user characteristic, such as age. As illustrated inTable 4 below and using the avatars shown in FIG. 8 only as an example,a user who is under the age of 10 may be limited to one group ofavatars. A user who is between 10 and 18 may be limited to a differentgroup of avatars, some of which are the same as the avatars selectableby users under the age of 10. A user who is 18 or older may select fromany avatar available from the instant message provider service.

TABLE 4 USER AGE AVATAR NAMES Less than age 10 Sheep, Cow, Dolphin,Happy, Starfish, Dragon, Polly Age 10 to 18 Sheep, Cow, Dolphin, Happy,Starfish, Dragon, Polly, Robot, Frog, T-Rex, Parrot, Boxing Glove,Snake, Monster, Parrot Age 18 or older Sheep, Cow, Dolphin, Happy,Starfish, Dragon, Polly, Robot, Frog, T-Rex, Parrot, Boxing Glove,Snake, Monster, Parrot, Lips, Pirate Skull

Instant messaging programs typically allow instant message senders tocommunicate in real-time with each other in a variety of ways. Forexample, many instant messaging programs allow instant message sendersto send text as an instant message, to transfer files, and tocommunicate by voice. Examples of instant messaging communicationapplications include AIM (America Online Instant Messenger), AOL(America Online) Buddy List and Instant Messages which is an aspect ofmany client communication applications provided by AOL, Yahoo Messenger,MSN Messenger, and ICQ, among others. Although discussed above primarilywith respect to instant message applications, other implementations arecontemplated for providing similar functionality in platforms and onlineapplications. For example, the techniques and concepts may be applied toan animated avatar that acts as an information assistant to convey news,weather, and other information to a user of a computer system or acomputing device.

The techniques and concepts generally have been described in the contextof an instant messaging system that uses an instant messaging hostsystem to facilitate the instant messaging communication between instantmessage senders and instant message recipients. Other instant messageimplementations are contemplated, such as an instant message service inwhich instant messages are exchanged directly between an instant messagesender system and an instant message recipient system.

Other implementations are within the scope of the following claims.

1. A computer-implemented method for animating a first avatar based onperceived animation of a second avatar, the method comprising:graphically representing a first user with a first avatar capable ofbeing animated; graphically representing a second user with a secondavatar capable of being animated wherein communication messages arebeing sent between the first user and the second user; receiving anindication of an animation of the first avatar; accessing informationassociating animations of avatars; identifying, based on the accessedinformation, an animation for the second avatar that is responsive tothe indicated animation of the first avatar; and in response to thereceived indication, animating the second avatar based on the identifiedresponsive animation.
 2. The method of claim 1 wherein receiving theindication of an animation comprises receiving an indication of any typeof animation of the first avatar.
 3. The method of claim 1 whereinreceiving the indication of an animation comprises receiving anindication of a particular animation of multiple possible animations ofthe first avatar.
 4. The method of claim 1 further comprising animatingthe first avatar in response to and based on the animation of the secondavatar.
 5. The method of claim 1 wherein the first avatar is animated inresponse to a particular portion of a message sent between the firstuser and the second user.
 6. The method of claim 5 wherein the firstavatar is animated in response to a particular portion of a message sentfrom the first user to the second user.
 7. The method of claim 5 whereinthe first avatar is animated in response to a particular portion of amessage sent to the first user from the second user.
 8. The method ofclaim 1 wherein the first avatar is animated to send an out-of-bandcommunication from the first user to the second user.
 9. The method ofclaim 8 wherein the out-of-band communication comprises a communicationindicating an environmental condition associated with the first user.10. The method of claim 9 wherein the environmental condition comprisesan environmental condition related to weather occurring in a geographiclocation near the first user.
 11. The method of claim 8 wherein theout-of-band communication comprises a communication indicating apersonality characteristic associated with the first user.
 12. Themethod of claim 8 wherein the out-of-band communication comprises acommunication indicating an emotional state associated with the firstuser.
 13. The method of claim 8 wherein the out-of-band communicationcomprises a communication indicating a setting characteristic associatedwith the first user.
 14. The method of claim 13 wherein the settingcharacteristic comprises a characteristic related to time of day of thefirst user.
 15. The method of claim 13 wherein the settingcharacteristic comprises a characteristic related to time of year. 16.The method of claim 15 wherein the time of year comprises a holiday. 17.The method of claim 15 wherein the time of year comprises a seasonwherein the season is one of spring, summer, fall or winter
 18. Themethod of claim 13 wherein the setting characteristic comprises acharacteristic associated with a work setting.
 19. The method of claim13 wherein the setting characteristic comprises a characteristicassociated with a recreation setting.
 20. The method of claim 19 whereinthe recreation setting comprises a beach setting or a tropical setting.21. The method of claim 19 wherein the recreation setting comprises awinter sport setting.
 22. A system for animating a first avatar based onperceived animation of a second avatar, the system comprising aprocessor connected to a storage device and one or more input/outputdevices, wherein the processor is configured to: graphically represent afirst user with a first avatar capable of being animated; graphicallyrepresent a second user with a second avatar capable of being animatedwherein communication messages are being sent between the first user andthe second user; receive an indication of an animation of the firstavatar; access information associating animations of avatars; identify,based on the accessed information, an animation for the second avatarthat is responsive to the indicated animation of the first avatar; andanimate the second avatar, in response to the received indication, basedon the identified responsive animation.
 23. The system of claim 22wherein the processor is configured to receive an indication of any typeof animation of the first avatar.
 24. The system of claim 22 wherein theprocessor is configured to receive an indication of a particularanimation of multiple possible animations of the first avatar.
 25. Thesystem of claim 22 wherein the processor is further configured toanimate the first avatar in response to and based on the animation ofthe second avatar.
 26. The system of claim 22 wherein the processor isfurther configured to animate the first avatar in response to aparticular portion of a message sent between the first user and thesecond user.
 27. The system of claim 22 wherein the processor is furtherconfigured animate the first avatar to send an out-of-band communicationfrom the first user to the second user.
 28. A computer-readable mediumhaving embodied thereon a computer program configured to animate a firstavatar based on perceived animation of a second avatar, the computerprogram comprising one or more code segments that when executed areconfigured to: graphically represent a first user with a first avatarcapable of being animated; graphically represent a second user with asecond avatar capable of being animated wherein communication messagesare being sent between the first user and the second user; receive anindication of an animation of the first avatar; access informationassociating animations of avatars; identify, based on the accessedinformation, an animation for the second avatar that is responsive tothe indicated animation of the first avatar; and animate the secondavatar, in response to the received indication, based on the identifiedresponsive animation.
 29. The medium of claim 28 wherein the one or morecode segments configured to receive the indication of the animation ofthe first avatar comprise one or more code segments configured toreceive an indication of any type of animation of the first avatar. 30.The medium of claim 28 wherein the one or more code segments configuredto receive the indication of the animation of the first avatar compriseone or more code segments configured to receive an indication of aparticular animation of multiple possible animations of the firstavatar.
 31. The medium of claim 28 wherein the one or more code segmentsare further configured to animate the first avatar in response to andbased on the animation of the second avatar.
 32. The medium of claim 28wherein the one or more code segments are further configured to animatethe first avatar in response to a particular portion of a message sentbetween the first user and the second user.
 33. The medium of claim 28wherein the one or more code segments are further configured to animatethe first avatar to send an out-of-band communication from the firstuser to the second user.
 34. A system for animating a first avatar basedon perceived animation of a second avatar, the system comprises: meansto graphically represent a first user with a first avatar capable ofbeing animated and graphically represent a second user with a secondavatar capable of being animated wherein communication messages arebeing sent between the first user and the second user; means to receivean indication of an animation of the first avatar; means to accessinformation associating animations of avatars; means to identify, basedon the accessed information, an animation for the second avatar that isresponsive to the indicated animation of the first avatar; and means toanimate the second avatar, in response to the received indication, basedon the identified responsive animation.
 35. The method of claim 1,wherein the first avatar and the second avatar are graphicallyrepresented on a first system, and wherein the accessing comprisesaccessing the information associating animations of avatars in a systemother than the first system.
 36. The method of claim 1, whereinaccessing information associating animations of avatars comprisesaccessing information associating animation triggers.
 37. The method ofclaim 1, wherein the identifying comprises: identifying a pair ofanimation identifiers based on the indicated animation of the firstavatar, the pair of animation identifiers including a first identifierassociated with the indicated animation of the first avatar and a secondidentifier associated with the responsive animation for the secondavatar.
 38. The system of claim 22, wherein the processor is configuredto identify an animation for the second avatar by identifying a pair ofanimation identifiers based on the indicated animation of the firstavatar, the pair of animation identifiers including a first identifierassociated with the indicated animation of the first avatar and a secondidentifier associated with the responsive animation for the secondavatar.
 39. The medium of claim 28, wherein the one or more codesegments configured to identify an animation for the second avatarcomprise one or more code segments configured to: identify a pair ofanimation identifiers based on the indicated animation of the firstavatar, the pair of animation identifiers including a first identifierassociated with the indicated animation of the first avatar and a secondidentifier associated with the responsive animation for the secondavatar.
 40. The system of claim 34, wherein the means to identifycomprises: means to identify a pair of animation identifiers based onthe indicated animation of the first avatar, the pair of animationidentifiers including a first identifier associated with the indicatedanimation of the first avatar and a second identifier associated withthe responsive animation for the second avatar.